我在 VPS 上的 Windows Server 2008 和 IIS 7 上有一个网站。它运行良好,没有任何问题,但在将其移动到具有 IIS 7.5 的共享托管服务器后,单击 4 或 5 次(大约 30 秒)后会话丢失,我不得不一次又一次地登录。
这两个网站是相同的,我将网站从 VPS 原封不动地复制到了共享托管服务器。
两个文件中的会话超时web.config
相同。
在共享托管服务器上,我无法访问 IIS 管理器来操作设置。我只有 Plesk 控制面板 9.5 和网站web.config
文件。
什么原因导致这种情况发生?
答案1
共享主机有时会异常频繁地回收应用程序池。如果您使用的是进程内会话状态,这可能会导致您的会话被清除。您可以通过将会话状态移出进程来解决此问题。由于它是共享主机,我猜您唯一的选择实际上是将会话状态保存在数据库中。
查看 MSDN 页面会话状态模式了解有关如何执行此操作的详细信息。
答案2
您是否在使用 Form Auth?如果是,请在您的 Web.config 文件中尝试一下:
<system.web>
<authentication mode="Forms">
<forms timeout="50"/>
</authentication>
<sessionState timeout="60" />
</system.web>
祝你好运!