为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话

Posted

技术标签:

【中文标题】为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话【英文标题】:Why do I have unstable session in a MVC3 application with godaddy servers为什么我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话 【发布时间】:2012-08-25 17:17:49 【问题描述】:

我在 godaddy 服务中有一个 MCV3 应用程序,会话非常不稳定。

当我登录时它工作正常,但在应用程序中导航时它会注销我,并在应用程序中点击刷新或导航更多一点,就像那样让我登录(不询问凭据或任何东西)。在我的远程测试服务器和本地测试服务器上工作正常。

【问题讨论】:

【参考方案1】:

这可能不是会话问题,而是身份验证 cookie/票证问题。 GoDaddy(很可能)使他们的服务器负载平衡。这意味着您的应用程序实际上一次存在于多个服务器上。

在您的 web.config 中,如果您没有正确定义 <machineKey> 属性,那么 IIS 将为您组成一个机器密钥。如果您未定义,则运行该应用程序的每台服务器都将创建自己的机器密钥。结果,一个服务器能够解密并读取您的身份验证票,而下一个请求会发送到另一台无法解密身份验证票的服务器,因为它是使用不同的密钥加密的,并且该服务器认为您没有登录。

要解决此问题,请打开您的 web.config 文件并定义您的 <machineKey> 属性并重新部署。使用新部署的应用程序登录后,您应该会看到此问题消失。

Forms authentication and Machine Key information on MSDN

Machine Key Generator(很可能,到这里的每个人都应该使用生成的 .NET 2.0 版本)

【讨论】:

我无法表达我现在对你的感激之情。谢谢你。就是这样。 史诗。这不仅是正确的,而且解释得非常完美和详细。非常好,这对我也有帮助。

以上是关于为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话的主要内容,如果未能解决你的问题,请参考以下文章

打开在godaddy注册的域名为啥是godaddy的页面呢?

MVC3 里添加一个静态网页为啥访问不到?

如何从 Godaddy 证书导出私钥并与 Apache SSL 一起使用

PHPMailer GoDaddy 服务器 SMTP 连接被拒绝

为啥我升级到 MVC3 后我的自定义 HtmlHelpers 停止工作?

Godaddy 上的 APNS 无法连接