ASP.NET 生产中的初始负载 - 未设置原则

ASP.NET Initial Load in Production - IPrinciple Isnt Set

我遇到了一个让我有点困惑的情况,因为我无法在我的任何其他环境中复制它。

该网站仍在开发中,因此除了我们两个人之外几乎没有流量。因此,如果站点处于休眠状态(所有 IIS 实例关闭等),当我第一次登录时,IPrinciple 没有正确设置(及时?),因此后续安全检查显然失败。然后我可以立即返回登录页面,执行相同的登录,一切正常。

无论我测试的是哪个用户,都会发生这种情况,因此它不特定于帐户。

然后我可以使用任何用户帐户登录和注销,这种情况再也不会发生。这从来没有发生在我本地机器上的开发中,我在我的本地 IIS 实例中也有一个系统实例,我用作人造暂存环境。我只在空闲的生产环境中看到过这个。

我能做些什么来防止这种情况发生?这是否也表明其他地方可能存在问题?

经过一些实验后发现问题只出现在 Google Chrome 中。所有其他浏览器均按预期运行。

这个解决方案实际上是我的一个疏忽。似乎 Google Chrome 对如何处理与域相关的 cookie 有更严格的规定。

在身份验证 cookie 上设置域属性解决了这个问题,现在 Google Chrome 也可以按预期登录。