你目前正处于脱机状态,正在等待 Internet 重新连接

HOW TO:在 ASP.NET 中禁用 ASP 会话状态

本文的发布号曾为 CHS306996
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
有关如何使用 Microsoft Active Server Page 执行此任务的附加信息,请单击下列文章编号,查看相应的 Microsoft 知识库文章:
244465 HOW TO:Turn Off ASP Session State in Active Server Pages and IIS(HOW TO:在 Active Server Page 和 IIS 中关闭 ASP 会话状态)

本任务的内容

概要
本分步指南介绍了如何在 ASP.NET 中禁用会话状态。

禁用会话状态时,ASP.NET 会为每个访问该应用程序的用户都创建一个会话,用于标识应用程序中用户浏览的页。在禁用会话状态时,不对用户数据进行跟踪,而且不能在 Session 对象中存储信息或者使用 Session_OnStart Session_OnEnd 事件。如果应用程序或页面不需要会话状态启用它,则可以通过禁用会话状态来提高性能。

在 ASP.NET 中,如果您不使用 Session 对象来存储任何数据或者如果处理任何 Session 事件(Session_OnStart Session_OnEnd),则禁用会话状态。每次在一个浏览器会话中刷新某个页面时,就会新建一个 Session.SessionID

返回页首

在应用程序级别禁用会话状态

下面的步骤说明如何在应用程序级别禁用会话状态,这将影响应用程序中的所有页:
  1. 启动 Microsoft Visual Studio .NET,并新建一个 ASP.NET Web 应用程序。
  2. 在"解决方案资源管理器"中,双击 Web.config 以查看此文件中的内容。
  3. 找到 <sessionState> 部分,并将 mode 值设置为 Off
  4. 保存该文件和/或项目,以禁用此应用程序中所有页的会话状态。
返回页首

在页级别禁用会话状态

下面的步骤演示如何在页级别禁用会话状态,这只会影响启用这些更改的特定页:
  1. 启动 Microsoft 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. 保存该文件和/或项目,以禁用此应用程序中所有页的会话状态。
返回页首

疑难解答

如果您在禁用会话状态的情况下尝试设置或检索信息,就会出现以下错误信息:
Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive
返回页首
参考
有关会话状态的更多信息,请参阅 .NET 框架软件开发工具包 (SDK) 文档中的以下主题:
ASP.NET Session State(ASP.NET 会话状态)
http://msdn2.microsoft.com/en-us/library/ms972429.aspx

<sessionState> Section(<sessionState> 部分)
http://msdn2.microsoft.com/en-us/library/h6bb9cz9(vs.71).aspx
返回页首
属性

文章 ID:306996 - 上次审阅时间:05/16/2007 06:28:27 - 修订版本: 1.3

Microsoft ASP.NET(随 .NET 框架一起提供)

  • kbconfig kbgrpdsasp kbhowto kbhowtomaster kbstate kbweb kbwebforms KB306996
反馈