2011-06-14 51 views
1

我正在尝试为ASP.NET创建一个URL重写模块。IHttpModule在ASP.NET中引导时未加载

以下是我宣布它:

namespace A.Webrole 
public class UrlRewriterHttpModule : IHttpModule{... 

和我说

<system.webServer> 
    <modules> 
     <add name="UrlRewriterHttpModule" type="A.Webrole.UrlRewriterHttpModule"/> 
    </modules> 
</system.webServer> 
Web.config文件

然后我把public void Init(HttpApplication context)的方法UrlRewriterHttpModule的方法,但没有断点停止执行。

然后我改名类的虚拟名,并再次重新启动应用程序,没有异常抛出找不到类等

你有什么想法,为什么这可能不是连加载HTTP模块?

回答

2

这取决于你在做什么来测试它。如果您使用的是Visual Studio内置的Web服务器或IIS6,则需要使用其他配置设置;

<configuration> 
    <system.web> 
     <httpModules> 
      <add name="UrlRewriterHttpModule" type="A.Webrole.UrlRewriterHttpModule"/> 
     </httpModules> 
    </system.web> 
</configuration> 

当然,你可以只使用MS提供的rewriter如果它是合适的,节省一些时间:)

+0

其实我重写将是复杂和给定的规则机制不适合我的需要。我是否也应该同时保留现有的设置? – 2011-06-14 18:30:35

+0

是的,保持现有的,所以它在IIS7上工作。如果你只是为IIS7开发,那么看看IIS Express,它会让开发更容易。 – blowdart 2011-06-14 18:43:05