WebResource.axd在Web场中抛出异常

时间:2011-01-17 22:04:03

标签: c# asp.net gac webresource.axd scriptresource.axd

我们有一个服务网站的大约12台服务器阵列。在过去几个小时内,一台服务器已经开始为WebResource.axd和ScriptResource.axd请求抛出异常。

异常

System.Web.HttpException - 这是一个无效的脚本资源请求。

堆栈跟踪

at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)

服务器网址损坏

/WebResource.axd?d=S6kjkBsrIKni9uO5HCkv0c8eYObzibWXn9R6A7Yr_Fy7CW4dRFZm1HfcnUTEZ8xBYZDM-5zeTVk1tTgC1hp7d5YYw3o1&t=634308186300177825

所有其他服务器网址

/WebResource.axd?d=yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462

我检查了每台服务器的web.config,machine.config,它们都是相同的。到目前为止能找到的唯一区别是,在问题开始之前,服务器已经打了补丁,之后,有问题的服务器看起来正在使用不同版本的System.Web.dll给其他人?

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

找到问题的根本原因。问题服务器应用了一个安全补丁,更新了System.Web.dll。由于某种原因,我们的托管服务提供商没有更新任何其他的dll,反过来这个服务器生成不同的加密密钥。

要确定哪个dll受到影响,我使用以下方法解密webresource.axd查询字符串参数:

http://blogs.telerik.com/aspnet-ajax/posts/07-03-27/debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-name.aspx

答案 1 :(得分:0)

“?d = yj6PW1hbOvqhMkOh2gYGlw2& t = 634207187366247462”是某种方式(哈希或其他东西?)到system.web.dll中的资源的链接,因此该服务器上的不同dll的链接无效是可以理解的。