4

我的 Web.config 中有以下内容:

<httpHandlers>
    . . .
    <add verb="GET,HEAD" path="/" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>

该 HTTP 处理程序返回一个静态 HTML 页面,只是为了查看它是否有效。

现在,当我运行我的 Web 应用程序(没有 Default.aspx 等)时,我得到的是默认目录列表。当我改变它的路径时,"/foo"它工作得很好。

我尝试""了路径,它也产生了目录列表。与拥有它相同,"/foo"然后将 URL 映射添加到 for """~""~/""/"

如何使用 HTTP 处理程序处理 Web 根目录/覆盖目录列表?

4

2 回答 2

2

更新:关于评论 这不能在开发服务器中完成,因为它需要 IIS 的功能。

原始: 您需要将通配符应用程序映射添加到 asp.net DLL,以便所有请求(甚至是目录)都通过 .net 运行时运行,因此您的 HTTP 处理程序。

查看http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx

了解更多信息

于 2009-05-09T13:19:27.517 回答
0

除了@Greg B 所说的之外,您还需要添加一个虚拟的 default.aspx 页面并使用 /* 路径注册您的处理程序:

<httpHandlers>
    . . .
    <add verb="GET,HEAD" path="/*" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>
于 2009-05-09T13:27:19.830 回答