2016-06-13 48 views
0

我在編輯原始文章,因爲我已經想出了一些東西,所以我的問題可以更具體。AjaxFileUploadHandler.axd即將到來404

我正在使用AjaxControlToolkit和Visual Studio 2015社區版。我使用NuGet來安裝他們建議的工具包和Html Sanitizer。

現在,我設置了一個包含HtmlEditorExtender控件的Web表單ASP.NET頁面,除了嵌入式的AjaxFileUpload控件外,它工作正常。

上傳失敗,我在下面的控制檯輸出中顯示我得到的內容。

Console Log Messages

看來,錯誤出現,因爲應用程序無法找到AjaxFileUploadHandler.axd文件(這是控制檯消息的更具描述性的版本是什麼)。我嘗試了所有我能找到的有關修改web.config文件(這裏的相關章節)的建議:

<system.webServer> 
<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
    <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</handlers> 
<security> 
    <requestFiltering> 
    <requestLimits maxAllowedContentLength="4294967295" /> 
    </requestFiltering> 
</security> 

和...

<system.web> 
<trust level="Full" /> 
<httpHandlers> 
    <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</httpHandlers> 

我已經卸載工具包,重新啓動服務器,嘗試了所有我能找到的東西,但仍然沒有喜悅。我在這裏沒有想法。任何人的幫助,請嗎?

回答

2

如果您在網站的根目錄下託管您的應用程序no,則需要指定包含站點根後所有路徑部分的AjaxFileUploadHandler.axd的路徑。

例如,如果你在http://mysite/myapp/mypage.aspx舉辦一個網站,你需要定義它這樣:

<httpHandlers> 
    <add verb="*" path="myapp/AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" /> 
</httpHandlers> 

你也可以看到這個問題的更多細節:https://github.com/DevExpress/AjaxControlToolkit/issues/43#issuecomment-203889967

+0

我確實嘗試過,它仍然給我同樣的錯誤。我在昨天發佈這篇文章之前閱讀了這篇文章(以及你的建議),希望它能夠起作用,但事實並非如此。即使在更改web.config中的路徑之後,控制檯輸出仍顯示它仍在嘗試查看localhost根目錄。另外,在Visual Studio中,構建的輸出表明它無法找到元素「ajaxControlToolkit」的模式。你能否提供一個更完整的web.config應該是什麼樣子的例子,以便我可以看到我的東西是否遺漏了一些東西?我通過NuGet安裝了所有的東西。 –

+0

很難猜出可能出錯的地方。你能不能分享你的示例項目與所描述的問題? –

+0

有沒有可能通過web.config提供完整的工作示例?我完全沒有辦法試試這個。 –

1

請檢查身份在其下你正在執行你的代碼有權訪問該文件夾。

我遇到了同樣的錯誤,該解決方案在本地開發機器上運行良好,但是當我將它發佈到服務器上時,我得到了同樣的錯誤。

看着服務器上的事件日誌,我意識到我錯過了給服務器身份的權限。一旦我給了這些權限,它工作得很好。