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

文章翻译 文章翻译
文章编号: 306996 - 查看本文应用于的产品
本文的发布号曾为 CHS306996
展开全部 | 关闭全部

本文内容

概要

本分步指南介绍了如何在 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

属性

文章编号: 306996 - 最后修改: 2007年5月16日 - 修订: 1.3
这篇文章中的信息适用于:
  • Microsoft ASP.NET(随 .NET 框架一起提供)
关键字:?
kbconfig kbgrpdsasp kbhowto kbhowtomaster kbstate kbweb kbwebforms KB306996
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com