C# 修补web场后出现奇怪的web服务器异常

C# 修补web场后出现奇怪的web服务器异常,c#,javascript,asp.net,C#,Javascript,Asp.net,我们最近修补了我们的12台服务器,现在所有服务器在点击类似于此的URL时都出现以下异常。。。(URL已被修改) 堆栈跟踪: at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context) at System.Web.

我们最近修补了我们的12台服务器,现在所有服务器在点击类似于此的URL时都出现以下异常。。。(URL已被修改)

堆栈跟踪:

at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
更新

at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
    at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString)
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这听起来像是服务器有不同的加密密钥,这导致一台服务器无法解密在不同服务器上生成的ViewState。有关如何修复它的更多信息,请参见以下内容:


服务器上是否有任何事件日志条目?任何客户端JavaScript错误?都无法亲自复制该问题。事件日志显示与此处列出的信息类似的信息,即:异常信息。谢谢:)谢谢Morten,我已经检查了web.configs中所有与machinekey项目匹配的服务器。然而,我注意到的一件事是,托管在同一Web服务器上的不同应用程序使用相同的machinekey值——这可能是个问题吗?来自MSN:“如果要将您的应用程序与同一服务器上的其他应用程序隔离,请在服务器场中每台服务器上的每个应用程序的Web.config文件中放置。确保为每个应用程序使用单独的键值,但在服务器场中的所有服务器上复制每个应用程序的键值。”如果错误慢慢消失,则可能是在修补发出请求的服务器之前创建的具有ViewState的打开浏览器窗口,因为使用旧密钥创建的VS与新密钥不兼容。我怀疑这与应用程序之间的隔离有任何关系。
at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
    at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString)
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)