2011-06-14 166 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