我们公司希望将所有对我们服务器上的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
答案 0 :(得分:1)
默认情况下,IIS将处理带扩展名的请求。这意味着您的自定义HTTP处理程序未被调用。如果您希望托管代码处理所有请求,那么您需要在Web.config中设置此配置:
<modules runAllManagedModulesForAllRequests="true" />
然后,在Web.config中注册HTTP处理程序很简单,确保它是第一个接收所有请求的处理程序。
此外,您可能需要检查IIS URL重写,因为它可能是解决此问题的更好性能。