Condividi tramite


Limiti predefiniti per i limiti dei siti <Web>

Panoramica

L'elemento <limits> dell'elemento <siteDefaults> configura le impostazioni predefinite che limitano la quantità di larghezza di banda, il numero di connessioni o il timeout della connessione per le richieste client per un server Web.

Nota

Se l'elemento <limits> è configurato sia <siteDefaults> nella sezione che nella <site> sezione per un sito specifico, la configurazione nella <site> sezione viene usata per tale sito.

Compatibilità

Versione Note
IIS 8,5 L'elemento <limits> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <limits> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <limits> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <limits> dell'elemento <siteDefaults> è stato introdotto in IIS 7.0.
IIS 6.0 L'elemento <limits> sostituisce le impostazioni della metabase IIS 6.0 seguenti:
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Installazione

L'elemento <limits> dell'elemento è incluso nell'installazione <siteDefaults> predefinita di IIS 7 e versioni successive.

Procedure

Come configurare le opzioni predefinite per il limite di connessione per un server

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, 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, quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni e quindi fare clic sul nodo Siti .

  3. Nel riquadro Siti fare clic su Imposta impostazioni predefinite sito Web nel riquadro Azioni .
    Screenshot del riquadro Siti con il sito Web predefinito elencato.

  4. Nella finestra di dialogo Impostazioni predefinite sito Web espandere Limiti, specificare le opzioni limite e quindi fare clic su OK.
    Screenshot della finestra di dialogo Impostazioni predefinite sito Web con le opzioni Generale, Comportamento, Limiti di connessione e Traccia richieste non riuscite.

Configurazione

Attributi

Attributo Descrizione
connectionTimeout Attributo timeSpan facoltativo.

Specifica il tempo in secondi di attesa di IIS prima della disconnessione di una connessione considerata inattiva. Le connessioni possono essere considerate inattive per i motivi seguenti:
  • Timer HTTP.sys Timer_ConnectionIdle scaduto. La connessione è scaduta e rimane inattiva.
  • Timer HTTP.sys Timer_EntityBody scaduto. La connessione è scaduta prima dell'arrivo del corpo dell'entità della richiesta. Quando è chiaro che una richiesta ha un corpo dell'entità, l'API HTTP attiva il timer Timer_EntityBody. Inizialmente, il limite di questo timer viene impostato sul valore connectionTimeout. Ogni volta che viene ricevuta un'altra indicazione dei dati su questa richiesta, l'API HTTP reimposta il timer per fornire alla connessione più minuti come specificato nell'attributo connectionTimeout.
  • Timer HTTP.sys Timer_AppPool scaduto. La connessione è scaduta perché una richiesta ha atteso troppo tempo in una coda del pool di applicazioni per l'annullamento della coda di un'applicazione server ed elaborarla. Questa durata di timeout è connectionTimeout.
Il valore predefinito è 00:02:00 (due minuti).
maxBandwidth Attributo uint facoltativo.

Specifica la larghezza di banda di rete massima, in byte al secondo, utilizzata per un sito. Utilizzare questa impostazione per impedire l'overload della rete con l'attività IIS.

Il valore predefinito è 4294967295.
maxConnections Attributo uint facoltativo.

Specifica il numero massimo di connessioni per un sito. Usare questa impostazione per limitare il numero di connessioni client simultanee.

Il valore predefinito è 4294967295.
maxUrlSegments Attributo uint facoltativo.

Specifica il numero massimo di segmenti consentiti in un URL.

Il valore predefinito è 32.

Elementi figlio

Nessuno.

Esempio di configurazione

Nell'esempio di configurazione seguente vengono specificate le opzioni predefinite limits per IIS 7 e versioni successive.

<system.applicationHost>
   <sites>
      <siteDefaults>
         <limits connectionTimeout="00:02:00" />
      </siteDefaults>
   </sites>
</system.applicationHost>

Codice di esempio

Gli esempi di codice seguenti configurano le opzioni predefinite limits per IIS 7 e versioni successive con un connectionTimeout valore di 3 minuti.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:03:00" /commit:apphost

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file 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:03:00");

         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:03:00")

      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:03:00";

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:03:00"

adminManager.CommitChanges()