PRB: 将丢失会话数据时使用 ASP.NET 进程内会话状态模式

文章翻译 文章翻译
文章编号: 324772 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

对于 ASP.NET Web 应用程序的会话数据看起来是随机丢失 InProc 会话状态模式的时间间隔。

原因

会话状态数据会丢失,如果应用程序域或Aspnet_wp.exe 进程(或 W3wp.exe 进程,对于在 Microsoft Internet Information Services [IIS] 6.0 运行的应用程序) 将被回收。通常情况下,应用程序域是重新启动基于以下几个因素:
  • 不同的属性 (例如, memoryLimit 属性) 在<processModel>中有特定的设置配置文件部分。</processModel>
  • Global.asax 或 Web.config 文件修改。
  • Web 应用程序的 Bin 目录的修改。
  • 病毒扫描软件接触到一些.config文件。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识中的文章基址:
    316148 PRB: 会话变量会间歇性地丢失在 ASP.NET 应用程序中
InProc 会话模式指示存储会话状态本地。这意味着与进程内会话状态模式实际存储为世界在 Web 应用程序的应用程序域中的对象。这就是为什么该会话状态就会丢失时 Aspnet_wp.exe(或 W3wp.exe,对于在 Microsoft Internet Information Services [IIS] 6.0 运行的应用程序) 或在应用程序域重新启动。

解决方案

若要变通解决此问题,您可以使用会话或SqlServer 会话状态模式。ASP.NET 提供这些服务的其他方法存储会话状态数据。在会话和 SqlServer 模式中,您在 Web 应用程序的应用程序域中没有存储会话状态。

注意务必要了解的行为和问题,当您决定是哪一种模式是与每个会话状态模式适合于您的要求。有关详细信息,请参阅"参考"这篇文章的一部分。

状态

这行为是设计使然。

参考

有关 ASP.NET 会话状态管理和其他相关的主题,请访问下面的 Microsoft Web 站点:
会话状态
http://msdn2.microsoft.com/en-us/library/87069683 (vs.71).aspx 吗? 帧 = true
有关其他信息,请单击下面的文章编号,若要查看 Microsoft 知识库中相应的文章:
307598 信息: ASP.NET 状态管理概述

属性

文章编号: 324772 - 最后修改: 2013年6月28日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
关键字:?
kbprb kbstate kbmt KB324772 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 324772
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,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