如何将IHttpHandler注册为默认文档

时间:2019-06-25 09:22:58

标签: asp.net iis iis-10 ihttphandler

我在web.config中注册了一个IHttpHandler,如下所示:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <!-- These are the HTTP handler registrations for IIS7+ in Integrated Pipeline mode; that is the current recommended mode for all deployments. -->
    <handlers>
      <add name="LaunchHandler" verb="GET,POST" path="launch.axd" preCondition="integratedMode" type="Foo.LaunchRequestHandler, Foo" />
      ...
    </handlers>
</system.webServer>

如果我直接导​​航到/launch.axd,则此方法很好,但是我希望此处理程序针对根路径运行。

我最初的方法是创建一个default.aspx页面,该页面重定向到launch.axd,这确实可行,但是显然需要额外的往返浏览器。

作为使用default.aspx页面的替代方法,我尝试将launch.axd添加为默认文档,如下所示:

<defaultDocument>
    <files>
        <add value="launch.axd"/>
        ...
    </files>
</defaultDocument>

但是,这不起作用。导航到根路径将返回以下消息:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

Most likely causes:
A default document is not configured for the requested URL, and directory browsing is not enabled on the server.

即该请求正在由DirectoryListingModule处理。

有什么想法吗?可以将没有文件(aspx,ashx)支持的处理程序注册为默认文档吗?

0 个答案:

没有答案