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 つのページが更新されるたびに作成されます。
アプリケーション レベルでセッション状態を無効にする
次の手順では、アプリケーション レベルでセッション状態を無効にする方法を示します。これは、アプリケーション内のすべてのページに影響します。
- Microsoft Visual Studio .NET を起動し、新しい ASP.NET Web アプリケーションを作成します。
- ソリューション エクスプローラーでWeb.configをダブルクリックして、このファイルの内容を表示します。
- セクションを
<sessionState>
見つけて、モード値を [オフ] に設定します。 - アプリケーション内のすべてのページでセッション状態を無効にするには、ファイルまたはプロジェクトを保存します。
ページ レベルでセッション状態を無効にする
次の手順では、ページ レベルでセッション状態を無効にする方法を示します。これは、これらの変更を有効にする特定のページにのみ影響します。
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" %>
アプリケーション内のすべてのページでセッション状態を無効にするには、ファイルやプロジェクトを保存します。
トラブルシューティング
セッション状態が無効になっているときに情報を設定または取得しようとすると、次のエラー メッセージが表示されます。
セッション状態は、enableSessionState が true に設定されている場合 (構成ファイルまたは Page ディレクティブ内) でのみ使用できます。
関連情報
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示