zoukankan      html  css  js  c++  java
  • httpModules httphandle

    httpModules httphandle

     

    最近要给客户迁移他的网站,因为之前有独立的服务器,可以设置iis绑定空主机头,所有url可以实现无限子域名,但是现在要更换服务器到虚拟主机上,就不能绑定空主机头了,但是之前的子域名必须保证还可以访问.

    后来就想到可以利用HTTPmodules来实现一个url的转发.顺便再详细了解一下他们的概念.

     

    1.httpModules(Http模块,可以在页面处理前后、应用程序初始化、出错等时候加入自己的事件处理程序)

        

    2.Httphandle(处理具体后缀的文件)

     

    3. HttpHandlerFactory (用来创建Http处理程序,创建的同时可以附加自己的事件处理程序)

     

    <add name="ModuleName"

    type=".NET Class, Assembly [,Version=version number]

    [,Culture=culture] [,PublicKeyToken=token]"/>

     

    属性

    属性

    说明

    name

    必选的属性。

    为模块提供一个好记的名称,这使您可为 global.asax 文件内的模块事件关联一个事件处理程序。

    type

    必选的属性。

    指定由版本、程序集和公钥标记组成的逗号分隔的类/程序集组合。ASP.NET 首先在应用程序的专用 \bin 目录中搜索程序集 DLL,然后在系统程序集缓存中搜索程序集 DLL

     

     

    Machine.config是在IIS第一次访问ASP.net时

    Web.config 是在第一次访问虚拟目录所代表的应用程序时加载

    还有Web.config 发生变化时

     

    代码如下:

    public class UrlHttpModule : IHttpModule

    {

    public void Init(HttpApplication application)

    {

    application.BeginRequest += new EventHandler(Application_BeginRequest);

    }

     

    private void Application_BeginRequest(object sender, EventArgs e)

    {

     

    HttpApplication application = (HttpApplication)sender;

    HttpContext context = application.Context;

    HttpRequest request = application.Request;

    HttpResponse response = application.Response;

     

    string[] url = request.Url.Host.Split('.');

    if (url.Length == 4)

    {

    response.Redirect("http://www.xxx.com/Merchant/?domain=" + url[1]);

    }

     

    //response.Write(request.Url.Host + url.Length);

     

    //response.Redirect("/");

    }

     

    public void Dispose()

    {

     

    }

    }

  • 相关阅读:
    ny 58 最少步数 (BFS)
    Oracle 参数文件
    Oracle 密码文件
    Oracle 表空间与数据文件
    Oracle 回滚(ROLLBACK)和撤销(UNDO)
    Oracle 控制文件(CONTROLFILE)
    Oracle 联机重做日志文件(ONLINE LOG FILE)
    Oracle 常用目录结构(10g)
    Oracle 归档日志
    instance_name,db_name,oracle_sid之间的关系
  • 原文地址:https://www.cnblogs.com/xinzhyu/p/1546503.html
Copyright © 2011-2022 走看看