アプリケーションレベルの変数には、アプリケーションの存続期間があります。これは、アプリケーションプールがリサイクルされ、破棄されることを意味します。
アプリケーションプールは、さまざまな理由でリサイクルできます。IIS 6/7は、特定の時間後、特定の数の要求後、または指定された間隔でアプリプールがリサイクルされるように構成できます。アプリケーション変数は次のように設定します。
Application["DbConfig"] = "my value";
ただし、別の場所で設定/アクセスしようとすると発生する可能性のある問題に注意する必要があります。変数が更新されたときに変数をロックする方法を採用する必要があります。
私はweb.config
すべての構成パラメーターに使用し、アプリケーションフィールドを格納するために使用する独自のクラスを作成しました。
namespace Web.My
{
public class Application
{
public static string ApplicationStorageFolder
{
get
{
return (System.IO.Path.Combine(HttpContext.Current.Server.MapPath("~"), "_AppStorage"));
}
}
}
}
いくつかのフィールドを設定する必要がある場合は、アプリケーションの起動時に行いますApplication_Start
。情報を保持する必要がある場合は、アプリケーションの起動時とシャットダウン時に値を保存および読み取るための独自の構成ファイル(xmlまたは単純なテキスト)を作成できます。クラスをXMLファイルでシリアル化して準備できるようにし、プロパティを簡単に再設定できます。dbも問題ありません。セッションカウンターでも同じことをします。