アプリケーションプールstartMode =“ AlwaysRunning”の代替


8

Webアプリケーションがそれ自体のアプリケーションプールを使用してセットアップされることを要求した場合、applicationHost.configで次のように構成します。

<add name="AppPool" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />

サーバーから毎分ページをリクエストするだけで同じ結果が得られますか?または、startModeをこの値に設定すると、他の影響もありますか?

回答:


6

それは同じように見えます。どうやら、Microsoftは開発者がこれを行う必要があると考えていたため、これを自動的に処理するためにこの新しい機能を作成しました。

[開発者]次に、カスタムスクリプトを考案して偽のリクエストをアプリケーションに送信し、定期的に「ウェイクアップ」してこのコードを実行してから、顧客にヒットするか、アプリケーションにアクセスする不運な最初の顧客がこのロジックが完了するまで待機するようにします。リクエストの処理(リクエストの遅延が長くなる可能性があります)。

ASP.NET 4には、このシナリオに適切に対処する「自動起動」と呼ばれる新機能が付属しており、ASP.NET 4がIIS 7.5(Windows 7およびWindows Server 2008 R2に付属)で実行されている場合に使用できます。自動開始機能は、アプリケーションワーカープロセスを起動し、ASP.NETアプリケーションを初期化して、HTTP要求を受け入れるための制御されたアプローチを提供します。

スコットガスリーの自動起動ASP.NETアプリケーション(VS 2010および.NET 4.0シリーズ)から

したがって、IIS 7.5を使用していない限り、組み込みの機能を使用するだけです。

(そして、感謝します。この機能については知りませんでしたが、私が開発したサイトでこの機能を使用できることは間違いありません。)


6
彼らがこの機能をapplicationHost.configレベルで作成したのは、残念なことです。代わりに、web.configレベルである必要があります。
Chris Marisic 2013年

4

IIS 7.5には、サイトまたはアプリケーションレベルにと呼ばれる追加のフラグがありますpreloadEnabled。これをtrueに設定すると、サイトをウォームアップするための偽のリクエストが作成されます。と組み合わせて使用​​する必要がありますautoStart

自動スタート

<add name="{yourapppoolname}" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" startMode="AlwaysRunning" />

preloadEnabled

<site name="YOURSITENAMEHERE" id="4″>
  <application path="/" applicationPool="YOURAPPPOOL" preloadEnabled="true">
  <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\YOURSITENAME" />
  </application>
</site>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.