AjaxFileUploadHandler.axd即将发布404

时间:2016-06-13 20:14:30

标签: asp.net ajaxcontroltoolkit jsajaxfileuploader

我正在编辑原帖,因为我发现了一些问题,所以我的问题可能更具体。

我正在使用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 个答案:

答案 0 :(得分:2)

如果您在网站的根目录中托管您的应用程序,则需要指定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

答案 1 :(得分:1)

请检查您执行代码的标识是否可以访问该文件夹。

我遇到了同样的错误,解决方案在本地开发机器上工作正常但是当我将它发布到服务器上时,我也遇到了同样的错误。

查看服务器上的事件日志,我意识到我错过了对服务器身份的r / w权限。一旦我给了这些权限,它就可以正常工作。