シナリオ:
- 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
ます。