在自动缩放的Web应用程序中使用ViewState

时间:2017-03-27 14:29:26

标签: asp.net azure azure-web-sites viewstate

使用ASP.NET视图状态可能会导致多服务器环境中出现问题。

Resolving view state message authentication code (MAC) errors

  

视图状态是WebForms之间往返的信息   ASP.NET应用程序中的(.aspx)页面。 ...

     

因为__VIEWSTATE字段包含重要信息   用于在回发时重建页面,确保攻击者   不能篡改这个领域。 ...

     

为了防止这种篡改攻击,__ OutlookSTATE字段是   受消息验证码(MAC)保护。 ASP.NET验证   a时与__VIEWSTATE有效负载一起提交的MAC   发生回发。

有多种方法可以在多服务器环境中缓解此问题(在上面链接的文章中详细说明)。

是否需要在设置为自动扩展的Azure Web App中应用这些方法?

1 个答案:

答案 0 :(得分:0)

根据您的描述,我检查了您提到的有关解决视图状态消息身份验证代码(MAC)错误的document

关于Web应用程序在服务器场(多服务器环境)中运行的情况如下:

  

某些网络托管服务,例如 Microsoft Azure网站会采取措施在其后端服务器之间同步每个应用程序的自动生成密钥。这使得未指定显式元素的应用程序可以继续在这些环境中工作,即使应用程序在服务器场中运行也是如此。如果您的应用程序在第三方托管服务上运行,请与您的托管服务提供商联系,以确定这种情况是否适用于您。

此外,我尝试创建我的ASP.NET WebForm应用程序并部署到Azure Web App(多个实例),它可以按预期工作。