【问题标题】:Asp.net Session Expire soon on live Web server实时 Web 服务器上的 Asp.net 会话即将过期
【发布时间】:2013-10-11 06:29:51
【问题描述】:

我遇到了一个关于 Web 应用程序的问题,

我很快就失去了会话

,我已经设置了超时和相关的东西。

上传后就完成了

实时服务器

,经过一段时间我无法使用会话后,它会在登录时重定向我。

请告诉我我能做什么?

谢谢

【问题讨论】:

  • 如果您正在使用 In-Proc 会话状态,请检查应用程序池空闲超时,您的应用程序池回收可能会导致会话丢失。
  • 您是否检查过身份验证的超时设置?如果您设置得太低,它也会将您重定向到登录页面
  • 是的@Laurence Nyein,我已经检查了超时,并且尽可能地增加了。
  • @Suraj Singh,我在 LIVE Server 上遇到了这个问题,请告诉我如何检查他们的应用程序池设置?在本地它工作正常。

标签: asp.net live


【解决方案1】:

对不起,我必须作为答案而不是评论来回复,

在运行窗口中输入“inetmgr”打开IIS 从左侧窗格“Connections”中选择您的应用程序。 右键单击您的应用程序并参考图像以打开应用程序的“Advanced Settings”(检查应用程序引用了哪个ApplicationPool

“Application Settings” 窗口您可以看到ApplicationPool 的名称。比如Asp.net V4.0DefaultAppPoolAsp.net V4.0 Classic

右键单击分配给您的应用程序的 ApplicationPool,然后单击“Advanced Settings....”

在弹出窗口中...检查 Idle time out 是否...导致 Web 应用程序空闲时超时。

【讨论】:

  • 非常感谢@suraj!!我需要问一下,我的实时服务器上也有 eork 吗?我正在使用这个parallels.com
  • @RIYAZ 这只是一个猜测,可能是这导致了你的问题,所以你可以试一试,如果空闲时间小于它将推翻你的 webconfig 超时设置,所以给它一个试试
  • 好的,谢谢@suraj!!我一定会告诉你的
【解决方案2】:

ASP.NET 会话状态丢失的原因有多种。最常见的是应用程序池回收时。反过来,这可能是由于 IIS 配置(计划回收)、/bin 文件夹或 web.config 文件的更改(也可能是“接触”文件的防病毒软件)。

如果使用 cookie 维护会话状态,可能会出现浏览器不接受它们的情况(因此,不会将它们传回,从而导致每次都创建一个新会话)。您可以使用您选择的 Fiddler 或 F12 工具(cookie 的名称为 ASP.NET_SessionId)来验证 cookie 是否已发送(并且该值在同一会话中未更改)。

您还可以检查web.config 文件中的sessionState 配置元素,以确保这些设置正确(有关该主题的更多信息:MSDN article)。

另外,检查事件日志(“应用程序”日志,其中“源”为“ASP.NET X.X.X.X”,其中“X.X.X.X”是框架版本)。在这种情况下,通常会有一些有用的信息。

希望这会有所帮助。

【讨论】:

  • 谢谢你,volpav 为我写信,但我已经完成了你提到的所有事情,在我的本地 IIS 上它工作正常,但之后托管在 Live server 面临这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2010-10-18
  • 2015-08-20
  • 2011-01-16
  • 1970-01-01
  • 2014-10-30
相关资源
最近更新 更多