2011-02-14 162 views
7

我有一個較大的.NET 2 Web應用程序,已經更新爲目標.NET 4.0框架。自更新以來,我看到以下錯誤在我的日誌中經常出現:WebResource.axd錯誤 - 「這是無效的Web資源請求。」

這是一個無效的網頁資源 請求。

所請求的資源「〜/ WebResource.axd的」 據我可以告訴,請求看起來很好在這還有很長的查詢字符串的鑰匙(鑰匙是d牛逼)和這些鍵的值。

是否有在框架版本之間更改WebResource.axd請求的機制?有沒有人有任何關於如何去解決這個問題的建議?

編輯: 我找到了一種方法來解密Web資源請求查詢字符串(代碼如下)。請求的資源是pCSSFriendly|CSSFriendly.CSS.Menu.css,這看起來像是尋址由應用程序使用的CSSFriendly.MenuAdapter資源的問題。這個領先的「p」看起來可能是問題所在。

private string DecryptWebResource(string urlEncodedData) 
{ 
    byte[] encryptedData = HttpServerUtility.UrlTokenDecode(urlEncodedData); 
    Type machineKeySection = typeof(MachineKeySection); 
    Type[] paramTypes = new Type[] { typeof(bool), typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) }; 
    System.Reflection.MethodInfo encryptOrDecryptData = machineKeySection.GetMethod("EncryptOrDecryptData", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic, null, paramTypes, null); 

    try 
    { 
     byte[] decryptedData = (byte[])encryptOrDecryptData.Invoke(null, new object[] { false, encryptedData, null, 0, encryptedData.Length }); 
     string decrypted = Encoding.UTF8.GetString(decryptedData); 
     return decrypted; 
    } 
    catch (System.Reflection.TargetInvocationException) 
    { 
    } 

    return String.Empty; 
} 
+0

您是否看到用戶代理在日誌中發出請求?用戶代理是一個機器人,而不是一個普通的瀏覽器。如果它是一個瀏覽器,它總是一個特定的瀏覽器? – 2011-02-14 05:23:29

回答

2

具有生成請求WebResource.axd的框架版本之間改變的機制?

顯然,應用安全更新(當然改變框架中的主要版本),可以改變這樣的方式導致此錯誤涉及WebResource.axd的客戶端 - 服務器交互。我們在應用補丁程序後看到這個錯誤,原因似乎是客戶端緩存http://forums.asp.net/t/1609380.aspx - 錯誤在30天左右後消失。

相關問題