7

Web アプリケーションのユーティリティ クラスからアプリケーションの状態にアクセスしようとしていますが、最適な方法がわかりません。静的メンバーを探しましたが、役に立ちません (HttpContext.Current の行に沿ってどこかで考えていました)。

私がこれまでに見つけた最善の解決策は、Global.asax.cs の Application_Start イベントで初期化されるユーティリティ クラスにメンバーを持つことです (そこから this.Application から取得できます)。 " その参照に起こっている (私はキャッシュ機能を探しているだけなので、アプリケーションが再起動されることは気にしません)?

4

4 に答える 4

11

わかったと思います!

HttpContext.Current.Application
于 2010-09-02T17:42:49.413 に答える
1

設計上、HTTTPContext の外部からアプリケーションの状態にアクセスする方法はありません。「グローバル」値を初期化するには、Application_Start を使用することをお勧めします。Cache同じ目的でクラスを 使用することもできます。Cacheファイルやデータベースの値の変更などのイベントによって変更されるデータに役立つ、メンバーの有効期限機能を提供します。

于 2010-09-02T17:46:06.940 に答える
0

単純に静的クラス メンバーを作成できます。

public class MyGlobalCache
{
    public static string SomeValue{get;set;}
}

これはアプリケーション レベルで保存されます。つまり、アプリケーション状態と同じ機能が得られます。静的メンバーは、すべてのレイヤー (Web ページと非 Web ページ) で使用できます。

于 2010-09-02T19:41:03.880 に答える
0

試す

System.Web.HttpRuntime
于 2010-09-02T17:44:27.583 に答える