我在事件查看器中有很多像这样的错误。我已经调查了所有可能的解决方案,但仍然没有找到有效的解决方案;

该网站是网络农场的一部分; session 状态存储在状态服务器中; machinekey 在所有服务器上都是相同的;我什至使用 iiscfg 在所有服务器上复制 iis 设置......仍然没有成功;在 IIS 中,在网站的属性上,我确保未选中“验证文件是否存在”以进行 axd 映射...

我尝试在 httphandlers 中添加以下行:

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />

但仍然没有成功...

我真的不知道如何摆脱这个错误。如果有人可以帮助我,我会感谢它!

整个堆栈跟踪是:
 Request URL: http://xxxxxxx/WebResource.axd?d=Nu8EdkxldHhw5_nYPoeh3y1EbfLckWGua0HevmQkJr6irkrdL4WYMMP0l2yqOwM7Sd85LYeggTTTURTygkW9tqcBk1Q1&t=634242073212638436
    Request path: /WebResource.axd


 at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
   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)

最佳答案

我终于设法修复了这些错误......这是一个安全更新,它没有安装在所有服务器上,导致加密提供不同的值,即使所有服务器上的机器 key 都相同。

安装了,现在好了

关于asp.net - WebResource.axd 要解密的数据长度无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4935221/

10-12 06:43