方法 : アプリケーション状態から値を読み取る
更新 : 2007 年 11 月
アプリケーション状態は、ASP.NET アプリケーションのすべてのクラスが使用できるデータ リポジトリです。アプリケーション状態はサーバーのメモリに格納されるので、データベースにデータを格納して取得するより高速です。個々のユーザー セッションに固有のセッション状態とは異なり、アプリケーション状態はすべてのユーザーとセッションに適用されます。したがってアプリケーション状態は、ユーザーによって変わることのない、頻繁に使用される少量のデータの格納に便利な場所です。
アプリケーション状態は HttpApplicationState クラスに保存され、そのインスタンスはユーザーがアプリケーションの URL リソースに初めてアクセスする際に新しく作成されます。詳細については、「ASP.NET のアプリケーション状態の概要」を参照してください。
アプリケーション状態には、Object 型でデータが格納されます。したがって、アプリケーション状態にデータを格納する際にシリアル化する必要はありませんが、取得する際には適切な型にキャストする必要があります。null (Visual Basic では Nothing) オブジェクトはキャストできますが、型チェックなどの他の方法で実在しないアプリケーション状態のエントリを使用しようとすると、NullReferenceException 例外がスローされます。
手順
アプリケーション状態から値を読み取るには
アプリケーションの変数が存在するかどうかを確認してから、変数にアクセスする際に適切な型に変換します。
アプリケーション状態の AppStartTime 値を取得し、DateTime 型の appStateTime という変数に変換するコード例を次に示します。
If (Not Application("AppStartTime") Is Nothing) Then Dim myAppStartTime As DateTime = _ CDate(Application("AppStartTime")) End If
if (Application["AppStartTime"] != null) { DateTime myAppStartTime = (DateTime)Application["AppStartTime"]; }