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

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

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

概要

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

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

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

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

  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 ディレクティブ内) でのみ使用できます。

関連情報