5

我创建了一个 HttpModule,这样每当我在浏览器中输入“localhost/blabla.html”时,它就会将我重定向到 www.google.com(这只是一个示例,它实际上是重定向来自手机的请求)

我的问题是:

1) 如何告诉 IIS(7.0) 将每个请求重定向到“HttpModule”,使其独立于网站。我可以更改 web.config,仅此而已。

2) 我需要将 .dll 添加到 GAC 吗?如果是这样,我该怎么做?

3) HttpModule 代码使用 'log4net' 。我还需要将“log4net”添加到 GAC 吗?

谢谢

PS该网站使用.net 2.0。

4

1 回答 1

14

您可以在 BeginRequest 事件中使用请求对象

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");
          }
    }

}
于 2012-07-24T14:43:59.560 回答