title: A HttpModule that doesn't work in IIS7
body: <p>I have a HttpModule that redirects certain URL:s in an ASP.NET WebForms application. It works on my machine with the ASP.NET Development Server. But when I upload it to our Win2k8 server with IIS7, it doesn't seem to react at all. I've put the <code>&lt;add name="Test.Web" type="Test.Web.Core.HttpModules.RedirectOldUrls, Test.Web" /&gt;</code> in the system.webServer/modules section, and in inetmgr I can see the module amongst the other ones. The website seems to behave the same way before and after I upload the code, which it shouldn't.</p>
  
  <p>An edited code example:</p>
  
  <pre><code>public void Init(HttpApplication context)
      {
          context.Error += PageNotFoundHandler;
      }
  
      public static void PageNotFoundHandler(object sender, EventArgs evt)
      {
          Exception lastErrorFromServer = HttpContext.Current.Server.GetLastError();
  
          if (lastErrorFromServer != null)
          {
              RedirectToNewUrlIfApplicable();
          }
      }
  
      private static void RedirectToNewUrlIfApplicable()
      {
          string redirectUrl = GetRedirectUrl();
  
          if (!string.IsNullOrEmpty(redirectUrl))
          {
              HttpContext.Current.Response.Status = "301 Moved Permanently";
              HttpContext.Current.Response.AddHeader("Location", redirectUrl);
          }
      }
  
      private static string GetRedirectUrl()
      {
          return RedirectableUrls.GetUrl();
      }
  </code></pre>