如何防止"分阶段"Azure网站的"交换"导致用户退出?

Sam*_*lly 4 asp.net-mvc azure asp.net-mvc-3 asp.net-mvc-4

我使用Azure网站(标准版)将一个MVC3,成员服务,.NET4,C#,Razor,EF4.1,SQL Azure Web应用程序部署到Azure中.

我一直在尝试新的"暂存"功能,可以在升级的Web应用程序中"交换".很好.我们真正想做的是在不干扰最终用户的情况下升级代码,即小型修复程序的持续集成.但是我们注意到"交换"会将用户记录下来并不理想.我怀疑这与在"交换"之后丢失的身份验证cookie有关,因此会话无法进行身份验证,导致用户返回到登录页面.有没有解决的办法?我唯一的想法就是以某种方式坚持数据库中的"必需品".

思想赞赏.

提前致谢.

GvM*_*GvM 6

由于您的"舞台"应用程序位于另一个实例上,因此您需要在两个应用程序中具有匹配的machineKey.将以下内容添加到web.config中,以便不自动生成machineKey.

<machineKey
    validationKey="052851E2D519231BE84E455B4C4A9FBC0CAC53B8FE7BBA1917FC296ACE6F41832383347EAEC498F40978DDD3374E7A666AFD0ADC1084A9E48B1B40ADC918C9A6"
    decryptionKey="7077D8F4C273E3FC5CE296F3B74897ACECF055F9BA01565372EE87B8746DE50F"
    validation="SHA1" 
    decryption="AES" />
Run Code Online (Sandbox Code Playgroud)

用自己的钥匙更换钥匙.您可以通过IIS或此处生成它们.如果您愿意,也可以更改加密和解密算法.

有关MSDN的更多信息