如何创建http处理程序以将所有流量重定向到HTML页面?

时间:2012-03-05 08:48:10

标签: c# asp.net .net httphandler httpmodule

我们公司希望将所有对我们服务器上的html文件的调用重定向到一个单独的页面。 html页面不在asp.net应用程序中。

为了做到这一点,我一直在asp.net中编写IIS Handler。

1)是否可以添加IIS处理程序来重定向任何asp.net引擎不提供的静态内容,即服务器上的独立文件?

2)如果可能,我该怎么做?我在类库中创建了一个http处理程序。在app.config中,我将处理程序添加到和部分。我将DLL添加到GAC,我将html映射更改为我的自定义IIS DLL并且没有任何作用。是否有关于如何执行此操作的A到B的教程或解释?

感谢。

电子

P.S。我正在使用IIS 7.5

1 个答案:

答案 0 :(得分:1)

默认情况下,IIS将处理带扩展名的请求。这意味着您的自定义HTTP处理程序未被调用。如果您希望托管代码处理所有请求,那么您需要在Web.config中设置此配置:

<modules runAllManagedModulesForAllRequests="true" />

然后,在Web.config中注册HTTP处理程序很简单,确保它是第一个接收所有请求的处理程序。

此外,您可能需要检查IIS URL重写,因为它可能是解决此问题的更好性能。