15

さて、私は基本的に、新しい IIS 8.0 アプリケーション初期化モジュールを使用して Azure ウォームアップを実装している最中です。

IIS のアイドル タイムアウトとリサイクル時間を基本的にキャンセルするスタートアップ タスク (cmd ファイル) があります。それにアプリケーションの初期化を追加しようとしています。

2 つのことを設定する必要があることに気付きました。startModepreloadEnabled

私のアプリケーションには、IIS に多数のサイト (約 10) があり、すべて Azure によってランダムに名前が付けられ、独自のランダムに名前が付けられたアプリケーション プールがあります。

startMode次のようにしてアプリケーションプールのデフォルトとして設定できるため、簡単です。

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.startMode:AlwaysRunning

これは、すべてのアプリケーション プールに適用されます。

しかし、そう簡単ではありませんpreloadEnabled

を設定preloadEnabledするには、名前付きサイトにこれを使用できます。

%windir%\system32\inetsrv\appcmd set config -section:sites [name='MySite'].applicationDefaults.preloadEnabled

しかし、名前がわからないすべてのサイトに適用する必要があり(それらはランダムです)、一種のデフォルトです(設定方法startMode)。

何か案は?

4

4 に答える 4

12

一日探して、やっと手に入れました。基本的には、パイプを使用してコマンドをチェーンすることにより、appcmd でループを使用します (forループのようなものです)。ここにあります:

%systemroot%\system32\inetsrv\AppCmd.exe list app /xml | %windir%\system32\inetsrv\appcmd set site /in -applicationDefaults.preloadEnabled:True
于 2013-04-19T13:12:17.090 に答える
0

まだ IIS 7.5 を使用している場合:

于 2013-10-21T07:42:06.357 に答える
0

Windows Server 2012 R2 および IIS 8.5 では、CMD 管理者に。

cd C:\Windows\System32\inetsrv && appcmd リスト アプリ /xml | appcmd set site /in -applicationDefaults.preloadEnabled:True /commit:apphost

于 2019-02-18T08:55:58.263 に答える