我在 F5 负载平衡器后面有两个 Web 服务器。每个 Web 服务器都具有彼此相同的应用程序。在负载均衡器的配置从源地址持久性更改为最少连接之前,没有问题。
现在在某些应用程序中我收到此错误
“/”应用程序中的服务器错误。
验证视图状态 MAC 失败。如果此应用程序由 Web Farm 或集群托管,请确保配置指定相同的 validationKey 和验证算法。AutoGenerate 不能在集群中使用。说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.Web.HttpException:视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保配置指定相同的 validationKey 和验证算法。AutoGenerate 不能在集群中使用。
源错误:
生成此未处理异常的源代码只能在调试模式下编译时显示。要启用此功能,请按照以下步骤之一操作,然后请求 URL:
在生成错误的文件顶部添加“Debug=true”指令。例子:
或者:
2) 将以下部分添加到您的应用程序的配置文件中:
请注意,第二种技术将导致在调试模式下编译给定应用程序中的所有文件。第一种技术将导致仅在调试模式下编译该特定文件。
重要提示:在调试模式下运行应用程序确实会产生内存/性能开销。在部署到生产场景之前,您应该确保应用程序已禁用调试。
如何将机器密钥添加到 machine.config 文件?我是在 IIS 的服务器级别还是在每个站点的网站/应用程序级别执行此操作?两个 Web 服务器的验证和解密密钥必须相同还是不同?.net 的每个 machine.config 版本是否应该不同?
我找不到有关此场景的任何文档。