Impostazioni predefinite per tutti i sitiDefaults <>
Panoramica
L'elemento <siteDefaults>
specifica le impostazioni predefinite per tutti i siti nel server. Queste impostazioni sono utili quando si desidera specificare le opzioni per tutti i siti Web che differiscono dagli schemi predefiniti per IIS 7 e versioni successive.
Nota
Se lo stesso attributo o elemento figlio è configurato sia nella <siteDefaults>
sezione che nella <sites>
sezione per un sito specifico, la configurazione nella <sites>
sezione viene usata per tale sito.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | L'elemento <siteDefaults> non è stato modificato in IIS 10.0. |
IIS 8,5 | L'elemento <siteDefaults> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <siteDefaults> non è stato modificato in IIS 8.0. |
IIS 7,5 | L'elemento <siteDefaults> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <siteDefaults> dell'elemento <sites> è stato introdotto in IIS 7.0. |
IIS 6.0 | L'elemento <siteDefaults> è analogo alle opzioni predefinite del sito Web a livello W3SVC nella metabase IIS 6.0. |
Installazione
L'elemento <siteDefaults>
dell'elemento è incluso nell'installazione <sites>
predefinita di IIS 7 e versioni successive.
Procedure
Come configurare le impostazioni predefinite del sito per un server
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il nome del server e quindi fare clic sul nodo Siti .
Nel riquadro Siti del server fare clic su Imposta impostazioni predefinite sito Web... nel riquadro Azioni .
Nella finestra di dialogo Impostazioni predefinite sito Web specificare le opzioni predefinite per tutti i siti Web e quindi fare clic su OK.
Configurazione
Attributi
Attributo | Descrizione |
---|---|
id |
Attributo uint facoltativo. Specifica l'identificatore numerico casuale assegnato da IIS quando viene creato il sito. Il sito Web predefinito è numerato 1. Altri numeri assegnati ai siti Web che possono essere costituiti da più cifre. |
name |
Attributo stringa facoltativo. Specifica un nome descrittivo che identifica in modo univoco un sito Web, ad esempio "Contoso HR Forms". |
serverAutoStart |
Attributo booleano facoltativo. Specifica se il sito deve essere avviato automaticamente all'avvio del servizio di gestione. Il valore predefinito è true . |
Elementi figlio
Elemento | Descrizione |
---|---|
bindings |
Elemento facoltativo. Specifica le associazioni predefinite per l'accesso ai siti. |
ftpServer |
Elemento facoltativo. Specifica le impostazioni predefinite per i siti FTP. Nota: Ciò richiede l'installazione di FTP 7.0 o FTP 7.5. |
limits |
Elemento facoltativo. Configura le impostazioni predefinite per limitare la quantità di larghezza di banda, il numero di connessioni o la quantità di tempo per le connessioni ai siti. |
logFile |
Elemento facoltativo. Configura le impostazioni predefinite per la gestione e l'archiviazione dei file di log per i siti. |
traceFailedRequestsLogging |
Elemento facoltativo. Specifica le impostazioni predefinite per la registrazione delle tracce delle richieste non riuscite per i siti. |
Esempio di configurazione
L'esempio di configurazione seguente specifica le limits
opzioni predefinite , , logFile
traceFailedRequestsLogging
, bindings
e ftpServer
per IIS 7.
<system.applicationHost>
<sites>
<siteDefaults>
<logFile logFormat="W3C"
directory="%SystemDrive%\inetpub\logs\LogFiles"
enabled="true" />
<traceFailedRequestsLogging enabled="true"
directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles"
maxLogFiles="20" />
<limits connectionTimeout="00:01:00" />
<ftpServer serverAutoStart="true" />
<bindings>
<binding protocol="http" bindingInformation="127.0.0.1:8080:" />
</bindings>
</siteDefaults>
</sites>
</system.applicationHost>
Codice di esempio
Gli esempi di codice seguenti configurano le limits
opzioni predefinite , , logFile
traceFailedRequestsLogging
, bindings
e ftpServer
per IIS 7.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:02:00" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.traceFailedRequestsLogging.maxLogFiles:"20" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.bindings.[protocol='http',bindingInformation='*:8080:contoso.com'].bindingInformation:"127.0.0.1:8080:" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.serverAutoStart:"True" /commit:apphost
Nota
È necessario assicurarsi di impostare il parametro commit su apphost
quando si usa AppCmd.exe per configurare queste impostazioni. Questa operazione esegue il commit delle impostazioni di configurazione nella sezione percorso appropriata nel file di ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement limitsElement = siteDefaultsElement.GetChildElement("limits");
limitsElement["connectionTimeout"] = TimeSpan.Parse("00:02:00");
ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
logFileElement["logFormat"] = @"W3C";
logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
logFileElement["enabled"] = true;
ConfigurationElement traceFailedRequestsLoggingElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging");
traceFailedRequestsLoggingElement["enabled"] = true;
traceFailedRequestsLoggingElement["directory"] = @"%SystemDrive%\inetpub\logs\FailedReqLogFiles";
traceFailedRequestsLoggingElement["maxLogFiles"] = 20;
ConfigurationElementCollection bindingsCollection = siteDefaultsElement.GetCollection("bindings");
ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
bindingElement["protocol"] = @"http";
bindingElement["bindingInformation"] = @"127.0.0.1:8080:";
bindingsCollection.Add(bindingElement);
ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");
ftpServerElement["serverAutoStart"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim limitsElement As ConfigurationElement = siteDefaultsElement.GetChildElement("limits")
limitsElement("connectionTimeout") = TimeSpan.Parse("00:02:00")
Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
logFileElement("logFormat") = "W3C"
logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement("enabled") = True
Dim traceFailedRequestsLoggingElement As ConfigurationElement = siteDefaultsElement.GetChildElement("traceFailedRequestsLogging")
traceFailedRequestsLoggingElement("enabled") = True
traceFailedRequestsLoggingElement("directory") = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
traceFailedRequestsLoggingElement("maxLogFiles") = 20
Dim bindingsCollection As ConfigurationElementCollection = siteDefaultsElement.GetCollection("bindings")
Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
bindingElement("protocol") = "http"
bindingElement("bindingInformation") = "127.0.0.1:8080:"
bindingsCollection.Add(bindingElement)
Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")
ftpServerElement("serverAutoStart") = true
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var limitsElement = siteDefaultsElement.ChildElements.Item("limits");
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00";
var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;
var traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging");
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = true;
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles";
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20;
var bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:";
bindingsCollection.AddElement(bindingElement);
var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");
ftpServerElement.Properties.Item("serverAutoStart").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set limitsElement = siteDefaultsElement.ChildElements.Item("limits")
limitsElement.Properties.Item("connectionTimeout").Value = "00:02:00"
Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True
Set traceFailedRequestsLoggingElement = siteDefaultsElement.ChildElements.Item("traceFailedRequestsLogging")
traceFailedRequestsLoggingElement.Properties.Item("enabled").Value = True
traceFailedRequestsLoggingElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\FailedReqLogFiles"
traceFailedRequestsLoggingElement.Properties.Item("maxLogFiles").Value = 20
Set bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:"
bindingsCollection.AddElement(bindingElement)
Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")
ftpServerElement.Properties.Item("serverAutoStart").Value = True
adminManager.CommitChanges()