ASP.NET表单成员身份导致这种奇怪行为的原因是什么?

时间:2014-08-07 14:01:34

标签: c# asp.net asp.net-membership

我们有一个托管在Microsoft Azure云服务中的Web应用程序。我们在每个环境中都有多个实例,一切都很好。

我正在将此应用程序从云服务迁移到Azure VM。应用程序在多个VM实例之间进行负载平衡。

我有一个以前从未遇到的奇怪问题:基本上 - 我一次只能登录一个实例。

例如,如果我在一个实例上登录我的应用程序,然后导航到另一个实例,那么我将不会登录。但是如果我导航回第一个实例,那么我将登录。另外 - 如果我然后导航到第二个实例(我没有登录的那个),然后登录,那么我将登录到第二个实例,但将从第一个实例注销。

我在web.config中定义了一个机器密钥。

我正在使用分布式会话提供程序(Redis)。

我的问题类似于:asp.net forms authentication logged out when logged into another instance(从某种意义上说症状是相同的),但由于这是一个多实例网站,我实际上使用相同的域来访问实例,并且所以这个问题提供的答案是不相关的。

以下是每个实例及其Cookie的屏幕截图: enter image description here

enter image description here

(我意外地从登录的图片中修剪了SessionID,但它们在两个实例上都相同)

我完全难过了。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

男孩我感到愚蠢。事实证明我有一个配置转换,正在将机器密钥值更改为AutoGenerate

我们使用Octopus Deploy,因此很少使用转换文件。我认为这是让我失望的原因。