2012-07-24 13 views
5

Stworzyłem moduł HttpModule tak, że za każdym razem, gdy piszę "localhost/blabla.html" w przeglądarce, przekieruje mnie on do www.google.com (to tylko przykład, to naprawdę przekierowanie żądań pochodzących z telefonów komórkowych)Przekierowanie z użyciem HttpModule Asp.net

Moje pytania są następujące:

1) Jak mogę powiedzieć IIS (7.0), aby przekierować każdą prośbę do „HttpModule” tak, że jest on niezależny od strony internetowej. Mogę zmienić web.config, ale to wszystko.

2) Czy muszę dodać .dll do GAC? Jeśli tak, jak mogę to zrobić?

3) Kod HttpModule używa "log4net". czy muszę też dodać "log4net" do GAC?

Dzięki

P.S. strona używa .net 2.0.

Odpowiedz

11

Można użyć obiektu żądania w BeginRequest imprezy

public class MyHttpModule : IHttpModule 
{ 
    public void Init(HttpApplication context) 
    { 
      context.BeginRequest += new EventHandler(this.context_BeginRequest); 
    } 

    private void context_BeginRequest(object sender, EventArgs e) 
    { 
      HttpApplication application = (HttpApplication)sender; 
      HttpContext context = application.Context; 

      //check here context.Request for using request object 
      if(context.Request.FilePath.Contains("blahblah.html")) 
      { 
       context.Response.Redirect("http://www.google.com"); 
      } 
    } 

} 
+0

Mam już kod dla modułu przekierowanie gotowe, muszę go zainstalować w IIS tak, że wnioski przechodzą HttpModule. –

+1

Powinieneś dodać do web.config –