ASP.NET で ASP セッションの状態を無効にする

この記事では、ASP.NET でセッション状態を無効にする方法について説明します。

元の製品バージョン: ASP.NET
元の KB 番号: 306996

概要

セッション状態が有効になっている場合、ASP.NET は、アプリケーションにアクセスするすべてのユーザーに対してセッションを作成します。これは、アプリケーション内のページ間でユーザーを識別するために使用されます。 セッション状態が無効になっている場合、ユーザー データは追跡されず、オブジェクトに情報を Session 格納したり、 イベントまたは イベントを Session_OnStart 使用したり Session_OnEnd することはできません。 セッション状態を無効にすると、アプリケーションまたはページでセッション状態を有効にする必要がない場合にパフォーマンスを向上させることができます。

ASP.NET で、 オブジェクトをSession使用してデータを格納しない場合、またはイベント (Session_OnStart または Session_OnEnd) のいずれかがSession処理された場合、セッション状態は無効になります。 1 つのブラウザー セッションで 1 つのページが更新されるたびに、新しい Session.SessionID ページが作成されます。

アプリケーション レベルでセッション状態を無効にする

次の手順では、アプリケーション レベルでセッション状態を無効にする方法を示します。これは、アプリケーション内のすべてのページに影響します。

  1. Microsoft Visual Studio .NET を起動し、新しい ASP.NET Web アプリケーションを作成します。
  2. ソリューション エクスプローラーで、[Web.config] をダブルクリックして、このファイルの内容を表示します。
  3. セクションを <sessionState> 見つけて、モード値を [オフ] に設定します。
  4. ファイルまたはプロジェクトを保存して、アプリケーション内のすべてのページでセッション状態を無効にします。

ページ レベルでセッション状態を無効にする

次の手順では、ページ レベルでセッション状態を無効にする方法を示します。これは、これらの変更を有効にする特定のページにのみ影響します。

  1. Visual Studio .NET を起動し、新しい ASP.NET Web アプリケーションを作成します。

  2. ソリューション エクスプローラーで、セッション状態を無効にする Web フォームをダブルクリックします。

  3. [ HTML ] タブを選択します。

  4. ページの上部にある @ Page ディレクティブを追加 EnableSessionState="false" します。 変更された属性は、次のようになります。

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
    
  5. ファイルまたはプロジェクトを保存して、アプリケーション内のすべてのページでセッション状態を無効にします。

トラブルシューティング

セッションの状態が無効になっているときに情報を設定または取得しようとすると、次のエラー メッセージが表示されます。

セッション状態は、enableSessionState が true に設定されている場合 (構成ファイルまたは Page ディレクティブ内) にのみ使用できます

関連情報