【问题标题】:ASP.NET webforms app sometimes fails to load until cookies deletedASP.NET webforms 应用程序有时无法加载,直到 cookie 被删除
【发布时间】:2011-06-24 13:22:47
【问题描述】:

我正在我的 Windows 7 PC 上开发一个 ASP.NET 4 网络表单应用程序。我正在运行 VS2010 和 IIS7.5。

我有一个奇怪的问题,在加载了几个页面后(从 1 到 20 左右),我没有收到 IIS 的响应。我什至无法在 Application BeginRequest 中设置断点,我什么也得不到。但是,如果我从浏览器中删除开发域的所有 cookie,则该网站将再次完美加载以获取更多请求。

这发生在我安装的所有浏览器(IE9、Firefox、Chrome、Safari、Opera)中。 但是,如果我将应用程序部署到我们的托管服务器,一切正常。

以前有人遇到过这个问题吗?

非常感谢您提供的任何帮助。

【问题讨论】:

  • 这听起来像你添加的,太大了,你的应用程序和浏览器上的cookies无法处理。
  • /agree Aristos - 你在 cookie 中放了什么?
  • 你在那些饼干里放了额外的巧克力片吗?
  • 我有 6 个 cookie,3 个是“内置”的 .ASPXFORMSAUTH、.ASPXROLES、ASP.NET_SessionId。其他 3 个每个只包含几个字节的数据。我将所有内容保存在一个文本文件中,总共不到 1.5k。但就像我说的,当我将此应用程序部署到我们的托管服务器时,一切正常。
  • 在本地运行时,IIS 可能会有一些限制,如果您离开 cookie 并重新启动 IIS,会发生什么情况?如果不需要,您也可以在服务器上禁用 keep-alives。

标签: asp.net iis-7


【解决方案1】:

在 cmets 之后,我在这里添加一个答案供参考。

当您在浏览器中放置太大的 cookie 并且浏览器无法处理它们时,会出现此问题。

在这里播放,而不是在那里播放的原因可能是因为您在上面输入的数据并保存在 cookie 中。

您可以搜索互联网上的 cookie 限制和不同的浏览器。例如http://support.microsoft.com/kb/306070

尽量减少 cookie 的大小。

来自 antmx

作为参考,这是我在 web.config 中为解决此问题所做的更改。

<roleManager cacheRolesInCookie="false" /> 

但请注意,现在每次需要时都会从数据库中读取用户的角色,这可能会导致性能问题。 (我不认为有任何性能问题,这样更安全)

【讨论】:

  • 再次感谢。我过于相信 ASP.NET 角色的自动化功能,并且随着该系统中角色数量的增加,它似乎已经超过了某种浏览器限制。作为参考,这是我在 web.config 中为解决此问题所做的更改。 但是请注意,现在每次需要时都会从数据库中读取用户的角色,这可能会导致性能问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2012-06-25
  • 2015-07-19
相关资源
最近更新 更多