2011-02-09 54 views
2

我有一個ASP.NET C#應用程序,我得到不同的錯誤的時候,就像一個你可以看到下面。有誰知道如何解決這個問題?謝謝。所有得到WebResource.axd的時間?d = ....錯誤

 
Page: http://www.sitename.com/WebResource.axd?d=OYuYekAZWSmOdOaJyDRqKg2&t=634022222718906250 
Message: This is an invalid webresource request. 
Source: System.Web 
Inner Exception: 
Stack Trace: 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) 
+0

參考談判,以便嵌入的資源」,你能給你的修補程序的詳細信息?是否只發生在IE或Firefox和Chrome呢? – safi 2011-02-09 15:00:26

+0

問題我得到應用層上這個錯誤我有我上面張貼的錯誤的所有信息 – Punditor 2011-02-09 15:27:27

回答

5

我能想到的三大原因,其中只有一個實際上指向一個真正的錯誤是這樣的:

  1. 有人試圖利用在asp.net一個安全漏洞(補丁here )如果你能找出加密密鑰,你可以在其中獲得一個axd處理程序來提供Web服務器上的任何內容。這是不可能的,但它是可能的。在這種情況下,除了確保已應用該修復程序外,您無需執行任何操作。

  2. (這是我剛纔完成的一個網站上觀察到的情況)這種情況是現有網站已被替換或Web服務器已被改變的地方。如果你有一個在Google上公開的網站,比方說,如果他們試圖訪問舊內容,或者當前頁面不是他們所期望的,那麼人們通常會查看「緩存」頁面(可能是錯誤或者只是不同)。問題是,如果該網站使用webresource.axd,那麼該頁面將引用它。瀏覽器打開緩存的html,然後發出請求。如果網站已經被更改或替換,則舊AXD鏈接可能不再有效越來越會導致錯誤。

    如果這是一個mvc網站,您可能不再使用axds呈現的資源,在這種情況下,您可以考慮通過編輯web配置並在處理程序部分爲它們添加'remove'條目system.webserver的。然後這些請求將產生一個404並不再會出錯。同樣,如果網站確實使用了axds,但是您無法通過瀏覽來自行重現錯誤,那麼您可能沒有什麼可擔心的。

  3. 網站運行的Web場中,因此每臺機器都需要有相同的計算機密鑰,這是一個真正需要注意,如果是這種情況。我離開它,直到最後,壽,因爲在看你的其他問題,我假設一個Web場不參與:)

我本來希望更好地格式化這個答案,但我是我的電話,道歉!

1

此外,以徹底安德拉斯(和令人印象深刻的手機:)答案,有在IE8中的錯誤(修補了,但有些仍可能有它在野外)的在使用引起類似的錯誤。儘管在這種情況下,請求最終會帶有垃圾,但這似乎不是您的情況,但它可能會讓您看到不同的內容。這裏有讓這件事

Invalid Webresource.axd parameters being generated

相關問題