错误: 模拟可能不起作用与集成安全性使用 ASP.NET SQL Server 会话状态时

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 326606
本文已归档。它按“原样”提供,并且不再更新。
症状
为对 SQL Server 模式会话状态管理使用集成安全性的 ASP.NET 应用程序启用模拟时,您可能会看到会话状态已丢失或被锁定很长时间时出现的问题。
原因
在下列情况下,ASP.NET 可能不使用模拟:
  • 当您写入会话状态回 SQL Server。
  • 获取会话状态,因为另一用户视为保持相同的会话状态数据上使用轮询时。
替代方法
要变通解决此问题,请使用下列方法之一:
  • 不要使用模拟。
  • 如果必须使用模拟,不要使用集成的安全性与 SQL Server 会话模式状态管理。
  • 如果必须使用模拟和集成的安全性与 SQL Server 会话模式状态管理,授予访问 processModel 元素的 用户名 设置中指定的帐户。这位于计算机上正在运行 SQL Server 的 Machine.config 文件中。
状态
Microsoft 已经确认这是在 Microsoft 中的错误在本文开头列出的产品。
更多信息
SQL Server 会话状态实现其自己打开 SqlConnection 对象连接池。当 SQL Server 会话状态将数据保存回到 SQL Server 数据库时,它使用一个后台线程。 后台线程运行 ASP.NET 工作进程 (在默认 ASP.NET 安装中,在 Microsoft Windows 2000 和 Microsoft Windows XP,Aspnet_wp.exe) 和 W3wp.exe 中默认的 ASP.NET 安装 Microsoft Windows Server 2003 中的帐户。如果在库中找不到打开的 SqlConnection 对象成功 SQL Server 连接尝试。但是,如果没有打开的 SqlConnection 对象可以在库中找到,SqlConnection 对象是通过 ASP.NET 辅助进程帐户创建。如果此帐户不具有连接到运行 SQL Server 的计算机的权限,连接不成功,这还会导致不成功的尝试将会话数据写回到运行 SQL Server 的计算机。默认状态下,写线程锁用于当访问该会话的会话。因此,会话保持锁定状态,直到发生超时。
参考
有关在 ASP.NET 应用程序中使用模拟和使用集成的安全性,当您连接到 SQL Server 时的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
306158信息: 在 ASP.NET 应用程序中实现模拟
316989PRB:"登录失败"SQL Server 到从 ASP.NET 创建受信任的数据连接时出现错误信息
有关修补程序和其他相关的更新程序的 ASP.NET 和.net Framework 的详细信息,请访问以下 Microsoft 网站:
trusted_connection sspi

警告:本文已自动翻译

属性

文章 ID:326606 - 上次审阅时间:02/24/2014 17:58:43 - 修订版本: 3.7

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft SQL Server 1.1 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbhttpruntime kbsecurity kbstate KB326606 KbMtzh
反馈