È possibile riciclare periodicamente i pool di applicazioni Internet Information Services (IIS) al fine di prevenire il verificarsi di uno stato instabile che può provocare arresti anomali, blocchi o perdite di memoria. Per impostazione predefinita, il riciclo dei pool di applicazioni è "sovrapposto", cioè il processo di lavoro da arrestare resta in esecuzione fino a quando non viene avviato il nuovo processo. Una volta avviato il nuovo processo, è a questo che vengono inviate le nuove richieste. Il precedente processo di lavoro viene arrestato dopo che ha terminato l'elaborazione delle richieste esistenti oppure dopo un timeout di configurazione, a seconda dell'evento che si verifica per primo. In questo modo, il riciclo può garantire un servizio ininterrotto ai client. Se però un'applicazione nel pool non è in grado di eseguire più di un'istanza di se stessa per volta, la rotazione "sovrapposta" può essere disabilitata.
Arrestare e avviare WAS
Se WAS non riesce a riciclare un'applicazione, il problema potrebbe risolversi automaticamente. Se il problema persiste, provare ad arrestare e riavviare WAS. Se si arresta il servizio WAS, si arresteranno automaticamente anche il servizio Pubblicazione sul Web (W3SVC) e tutti gli altri servizi che dipendono da WAS. Di conseguenza, potrebbe essere necessario riavviare questi altri servizi.
Per arrestare e avviare WAS:
Aprire una finestra del prompt dei comandi con privilegi elevati. Fare clic sul pulsante Start, selezionare Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi, quindi scegliere Esegui come amministratore.
Al prompt dei comandi digitare net stop was /y.
Al prompt dei comandi digitare net start was.
Per riavviare W3SVC, nel prompt dei comandi, digitare net start w3svc. Inoltre, avviare gli eventuali servizi che sono stati arrestati quando WAS è stato chiuso.
Target | Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool |
Category | Alert |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider | Default |
Filter | ConditionDetection | Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.WAS.failed.to.issue.recycle.request.to.application.pool" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider">
<LogName>System</LogName>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter">
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(5070|5093)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.WAS.failed.to.issue.recycle.request.to.application.pool.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>