2

通常、現在の Application 状態への参照が必要な場合は、次を使用します。

HttpContext.Current.Appliction

ただし、現在の HttpContext ( return ) がない場合がありHttpContext.Currentますnull。その場合、現在のアプリケーション インスタンスへの参照を取得するにはどうすればよいですか?

例としては、Session_Endイベントが挙げられます。Applicationイベント ハンドラー内でプロパティを使用することはできますSession_Endが、ハンドラーがライブラリ メソッドを呼び出し、HttpApplicationStateライブラリ コードでオブジェクトが必要な場合はどうなるでしょうか。「アプリケーション」パラメーターを渡すのは好きではありません...

また、フィールドに保持するのも好きではありませんstatic(Singleton パターンのように)。コンテキストから直接取得する方法を探しています。

インスタンスに直接アクセスする方法はありますか (HttpContext.Current.Applicationアプローチに似ています)、または上記のあまりクリーンでない方法のいずれかを選択する必要がありますか?

4

1 に答える 1

2

HttpRuntime.Cacheアプリケーション状態オブジェクトの代わりに使用します。HttpRuntime.Cacheどこからでも使用できます。

于 2014-04-23T22:57:45.800 に答える