zoukankan      html  css  js  c++  java
  • 使用HttpHandler来监控HTML页面请求

    最近要实现一个IIS7下的纯HTML页面的请求来源,由于诸多原因: 

    • 多个独立域名绑定到了一个website
    • 域名供应商不支持url forwarding
    • 想达到输入次域名后自动redirect到主域名,如:
    • 输入www.ccc.net后会redirectwww.aaa.com
    • 输入www.ddd.cn后会redirectwww.aaa.com

    所以试着做了个html handler

    步骤:

    1. 设置目标网站的application pool模式为integrate
    2. 编写一个.NET 2.0HttpHandler来处理请求(此处是*.html文件的请求)
    3. public class UrlVerify : IHttpHandler
          {
              public bool IsReusable
              {
                  get { return true; }
              }

              const string mainHostName = "www.aaa.com";
              public void ProcessRequest(HttpContext context)
              {
                  if (context.Request.Url.Host.ToLower() != mainHostName)
                  {
                      string url = GenerateMainSiteUrl(context.Request.Url.AbsoluteUri, context.Request.RawUrl);
                      context.Response.Redirect(url, true);
                  }
                  else
                  {
                      context.Response.WriteFile(context.Request.PhysicalPath);
                  }
              }

              public string GenerateMainSiteUrl(string fullUrl, string virtualPath)
              {
                  string url = fullUrl;
                  string preUrl = "http";
                  if (url.Substring(05).ToLower() == "https")
                      preUrl = "https";

                  virtualPath = virtualPath.TrimStart('/');

                  url = string.Format("{0}://{1}/{2}", preUrl, mainHostName, virtualPath);
                  return url;
              }
          }
    4. 将编译后的dll文件放到目标网站的bin目录中
    5. 打开IIS7,找到目标网站,双击 Handler Mappings 图标
    6. 在右上方click Add Managed Handler链接
    7. OK

    迷惑:

    上述组件是用.net2.0编写的,我用.net4.0也试了一下,但是总是报错,不知道怎么回事,望有经验的兄弟告诉我一下。

  • 相关阅读:
    linux驱动---等待队列、工作队列、Tasklets【转】
    Pinctrl子系统之一了解基础概念【转】
    Linux内存管理(最透彻的一篇)【转】
    linux驱动学习笔记---实现中断下半部以及驱动编写规范(七)【转】
    一些网址下载【转】
    Linux /proc/$pid部分内容详解【转】
    Linux kernel workqueue机制分析【转】
    Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)【转】
    Linux Kernel PANIC(三)--Soft Panic/Oops调试及实例分析【转】
    Linux内核调试的方式以及工具集锦【转】
  • 原文地址:https://www.cnblogs.com/aarond/p/HandlerMapping.html
Copyright © 2011-2022 走看看