使用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中应用这些方法?
答案 0 :(得分:0)
根据您的描述,我检查了您提到的有关解决视图状态消息身份验证代码(MAC)错误的document。
关于Web应用程序在服务器场(多服务器环境)中运行的情况如下:
某些网络托管服务,例如 Microsoft Azure网站,会采取措施在其后端服务器之间同步每个应用程序的自动生成密钥。这使得未指定显式元素的应用程序可以继续在这些环境中工作,即使应用程序在服务器场中运行也是如此。如果您的应用程序在第三方托管服务上运行,请与您的托管服务提供商联系,以确定这种情况是否适用于您。
此外,我尝试创建我的ASP.NET WebForm应用程序并部署到Azure Web App(多个实例),它可以按预期工作。