この記事では、ASP.NET でセッション状態を無効にする方法について説明します。
元の製品バージョン: ASP.NET
元の KB 番号: 306996
まとめ
セッション状態が有効になっている場合、ASP.NET は、アプリケーションにアクセスするすべてのユーザーに対してセッションを作成します。このセッションは、アプリケーション内のページ間でユーザーを識別するために使用されます。 セッション状態が無効になっている場合、ユーザー データは追跡されず、 Session オブジェクトに情報を格納したり、 Session_OnStart または Session_OnEnd イベントを使用したりすることはできません。 セッション状態を無効にすると、アプリケーションまたはページでセッション状態を有効にする必要がない場合にパフォーマンスを向上させることができます。
ASP.NET では、 Session オブジェクトを使用してデータを格納しない場合、または Session イベント (Session_OnStart または Session_OnEnd) のいずれかが処理された場合、セッション状態は無効になります。 1 つのブラウザー セッションで 1 つのページが更新されるたびに、新しい Session.SessionID が作成されます。
アプリケーション レベルでセッション状態を無効にする
次の手順では、アプリケーション レベルでセッション状態を無効にする方法を示します。これは、アプリケーション内のすべてのページに影響します。
- Microsoft Visual Studio .NET を起動し、新しい ASP.NET Web アプリケーションを作成します。
- ソリューション エクスプローラーで、Web.config をダブルクリックして、このファイルの内容を表示します。
- [
<sessionState>] セクションを見つけて、モードの値を Off に設定します。 - ファイルやプロジェクトを保存して、アプリケーション内のすべてのページでセッション状態を無効にします。
ページ レベルでセッション状態を無効にする
次の手順では、ページ レベルでセッション状態を無効にする方法を示します。これは、これらの変更を有効にする特定のページにのみ影響します。
Visual Studio .NET を起動し、新しい ASP.NET Web アプリケーションを作成します。
ソリューション エクスプローラーで、セッション状態を無効にする Web フォームをダブルクリックします。
HTML タブを選択します。
ページの上部にある @Page ディレクティブに
EnableSessionState="false"を追加します。 変更された属性は、次のようになります。<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" EnableSessionState="false" %>ファイルやプロジェクトを保存して、アプリケーション内のすべてのページでセッション状態を無効にします。
トラブルシューティング
セッション状態が無効になっているときに情報を設定または取得しようとすると、次のエラー メッセージが表示されます。
セッション状態は、構成ファイルまたは Page ディレクティブで enableSessionState が true に設定されている場合にのみ使用できます。