【问题标题】:ASP.NET custom HttpHandler in IIS 7, 7.5IIS 7、7.5 中的 ASP.NET 自定义 HttpHandler
【发布时间】:2012-02-23 23:04:17
【问题描述】:

我的 web.config 设置如下。我的处理程序位于一个名为 TestProject.Custom 的程序集中。我通过 jQuery post 调用这个处理程序,在 VS 2010 中运行良好(当然!)但是当我将它推送到 IIS 7.5 或 IIS 7 时,它会抛出 404 关于无法找到 TestHandler.ashx。不知道我错过了什么。

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
  <add name="TestHandler"
       verb="*" preCondition="integratedMode"
       path="TestProject.Custom.HttpHandlers.TestHandler.ashx"
       type="TestProject.Custom.HttpHandlers.TestHandler, TestProject.Custom"/>

</handlers>

编辑:我正在使用 jQuery 调用此处理程序,并且该处理程序位于表单身份验证之后(我认为这不是问题):

jQuery(function () {
    jQuery.ajax({
        type: "POST",
        url: "TestHandler.ashx",
        data: { "test_data": "some test data" }
    });
});

【问题讨论】:

    标签: asp.net iis-7 iis-7.5 httphandler


    【解决方案1】:

    我认为“路径”属性应该是“TestHandler.ashx”而不是它的当前值。它必须与您在 jQuery 中使用的 URL 匹配。否则,应为 404。

    【讨论】:

    • 就是这样。还有其他一些问题导致它无法工作。
    【解决方案2】:

    404通常表示注册有问题,基本上就是找不到东西来处理进来的请求。

    在添加节点内部,尝试在末尾添加以下属性:resourceType="Unspecified"

    这告诉 IIS 在看到对 ashx 的请求时不要查找物理文件。我认为这导致了 404

    【讨论】:

    猜你喜欢
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2011-04-08
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多