シナリオ:
- ASP.NET 3.5 WebForms ベースの Web サイトを持っています。
Foo.aspx、Bar.aspxおよびbaz.html(jQuery テンプレート)が含まれています。- 見られる典型的なトラフィックは
Foo.aspx、(N 回)、Bar.aspx(N 回)、およびbaz.html(10*N 回) です。 - ASP.NET ワーカー プロセス (
aspnet_wp.exe) は、たとえば 2 時間ごとにリサイクルされます。 OldFooService.Init()の最初の要求に対してのみ実行する必要がある古い API ( ) が存在しますFoo.aspx。OldFooService.Init()最初のフローではデータ ストアを初期化しますCacheが、後続のフローでは空白を起動します。
質問:
私は現在 B (下記参照) を行っています。これは、へのトラフィックが1 回目Foo.aspxよりも低く、baz.htmlブランクOldFooService.Init()が発生するためです。
Cを使用する必要がありますか?への書き込みにApplication_Stateはロック ( MSDN ) が必要であり、使用できることが保証されていないため、努力する価値があるかどうかはわかりません。それとももっと良いDがありますか?
オプション:
A)Application_StartのGlobal.asax
B)一度Page_LoadにFoo.aspx( をチェックしてNot IsPostBack)
C) オプション B + のフラグを使用して、 のApplicationStateリサイクルごとに 1 回実行しaspnet_wp.exeます。