2009-05-05 207 views
3

我嘗試使用來自obout控制庫中的文件上傳控件,我真的很喜歡它,並認爲它很光滑,沒有任何閃光..Webresource.axd? - !500內部服務器錯誤

我下載了整個安裝程序,使用了與樣品中的設置,並使控制完全按照我的意願行事。

我在vs2008中創建了一個全新的web應用程序,並且包含了web.config,dll和帶有樣式代碼的文件夾,以及我調整後給出所需輸出的aspx頁面。

我構建了新項目,並運行它,控件加載,並正常工作。


現在我想在我一直在已有的項目中使用這個,所以我複製web.config中值,動態鏈接庫,並與樣式代碼的文件夾和aspx頁面,我調整..

我把他們在同一個位置,我做了與其他項目,建立它,並運行頁面.. 所有加載但是當我點擊一個按鈕,我有一個webresource.axd錯誤,其實2,兩者都在最後加密。

經過一番研究,它看起來像webresource.axd可以用來動態加載javasript和css文件等...所以我的猜測在這一點上是控制使用這個隱藏的方式來包含JavaScript文件它需要......而它在這些方面的失敗包括......讓我感到困惑。

我已經剝離了我的項目中的所有內容,但仍然失敗,我找到了一篇文章,聲明它可能是網站的iis配置,所以我檢查了我的映射到.net 2.0 lib文件,與axd擴展..所以我懷疑這是問題,但我沒有刪除並重新創建iis網站..它仍然無法正常工作...並且它仍然不起作用...

我已經在網絡配置..

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

這也似乎並沒有幫助..

有誰知道在哪裏我可以用這個去...

編輯: 我在事件查看器遇到了這個..

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 05/05/2009 2:38:16 PM 
Event time (UTC): 05/05/2009 6:38:16 PM 
Event ID: 8579dbce2f5844169b1740bb95ebffb1 
Event sequence: 8 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/Root/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem-12-128860222914549340 
    Trust level: Full 
    Application Virtual Path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem 
    Application Path: c:\inetpub\wwwroot\SVN_WORKSPACE\WWWROOT\WorkEstimateSystem\ 
    Machine name: GREGE6500 

Process information: 
    Process ID: 2276 
    Process name: aspnet_wp.exe 
    Account name: GREGE6500\ASPNET 

Exception information: 
    Exception type: HttpException 
    Exception message: Session state is not available in this context. 

Request information: 
    Request URL: http://localhost/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd?d=gPWI1Nyst2kh_ORsvV-AHCh4GSmizSjDuHRCpBgAKBsmi1Zr6e44K950Zcfsdc4p2GuNTPmRl4yAADV0USSNLFQQ7sk-iY1WVt4JJWJE_yg1&t=633771228432707325 
    Request path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd 
    User host address: 127.0.0.1 
    User: 
    Is authenticated: False 
    Authentication Type: 
    Thread account name: GREGE6500\ASPNET 

Thread information: 
    Thread ID: 8 
    Thread account name: GREGE6500\ASPNET 
    Is impersonating: False 
    Stack trace: at System.Web.HttpApplication.get_Session() 
    at GlobalClass.CURRENT_EMPLOYEE_ID() 
    at GlobalClass.checkLogin(String pagerequested) 
    at GlobalClass.Application_OnPostRequestHandlerExecute(Object sender, EventArgs e) 
    at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 


Custom event details: 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. 

在Global.asax有一些會話開始和結束函數以及應用程序的開始和結束功能..有沒有什麼辦法可以簡單地說如果請求是來自axd做一些不同的事情或不運行這些自定義函數?

FIXED:

在Global.asax頁面內..

Sub Application_OnPostRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs) 
select case requestedPageName 
    case "webResource.axd" 
    exit sub 

這個固定!

回答

5

「Application_OnPostRequestHandlerExecute」方法運行時會請求.Net句柄。這包括「webresource.axd」。在該方法中,檢查當前URL是否爲「webresource.axd」。如果是,則不要使用會話。

+0

謝謝大衛!這太棒了..我希望我早點檢查我的活動日誌! – 2009-05-05 19:31:41

0

我正在使用一個Farpoint Spread,它只顯示一個包含大量行的頁面。下面是我第一次嘗試在C#版本(沒有工作):

Global.asax: 
    protected void Application_OnPostRequestHandlerExecute(object sender, EventArgs e ) 
    { 
     String requestedPageName = VirtualPathUtility.GetFileName(Request.FilePath); 
     switch (requestedPageName) 
     { 
      case "WebResource.axd": 
       return; 
     } 
    } 

在此鏈接爲我工作的解決方案,但我不得不提高數字越高: http://www.acumen-corp.com/Blog/tabid/298/EntryId/8/ASP-NET-Error-ThrowIfMaxHttpCollectionKeysExceeded.aspx

Web.Config: 
    <appSettings> 
     <add key="aspnet:MaxHttpCollectionKeys" value="5000" /> 
    </appSettings> 

此相關帖子使用相同的解決方案: 'Operation is not valid due to the current state of the object' error during postback