asp.net下通过泛解析和伪静态实现二级域名的实现方法

 更新时间:2010年10月20日 18:50:47   作者:  
当我们想做一个站群或想为每一个会员的主页设置为一个二级域名时,总是想拼命的去找些组件来实现。
虽然最后是实现了,但身为程序员的我,却总是感觉利用其他不开源的组件自己总把握不了技术的核心。其实在net中微软已经为我们留下了接口,让我们为所欲为了。

首先我们可以通过一张图大概了解下.net的生命周期。

从 上图可以看出来,针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例。而 Ihttpcontext是httpcontext对外公开的接口,它包含了2个方法:dispose()和Init(HttpApplication context),我们可以实现Ihttpcontext从而达到httpcontext。
关键代码:
复制代码 代码如下:

HttpApplication app = (HttpApplication)sender;
HttpContext context = app.Context;
string url = context.Request.Url.AbsoluteUri; //完整url
string turl = url.Split('.')[0];
string surl = turl.ToLower().Replace("http://", "");
StringBuilder strb = new StringBuilder();
strb.Append(url);
strb.Append(surl);

app.Context.RewritePath(path, string.Empty, strb.ToString().Split('?')[1]);
在web.config里配置下:
<system.web>里添加如下代码。
<httpModules>
<add type="Common.URLRewriter" name="Common" />
最后设置IIS的时候记得要把IIS的表头设置为空。
运行下你就能实现了
</httpModules>

相关文章

  • ASP.NET MVC实现路由功能

    ASP.NET MVC实现路由功能

    这篇文章介绍了ASP.NET MVC实现路由功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 一文掌握.Net core中的缓存

    一文掌握.Net core中的缓存

    Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享,本文主要给大家介绍.netcore中的缓存知识,需要的朋友可以参考下
    2022-06-06
  • asp.net 不用组件的URL重写(适用于较大型项目)

    asp.net 不用组件的URL重写(适用于较大型项目)

    网上很多关于url重写的教程都推荐下载某某某组件, 我个人不喜欢这样,即使是M$的组件也一样,因为我们干程序员的,越贴近真相越好。那么我也写一个关于url重写的文章,希望对和我一样有个性的coder们有点帮助。
    2009-04-04
  • IIS处理Asp.net请求和Asp.net页面生命周期说明

    IIS处理Asp.net请求和Asp.net页面生命周期说明

    当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和asp.net的页面生命周期。欢迎大家积极拍砖,共同学习,共同进步。
    2011-05-05
  • ASP.NET获取URL方法汇总

    ASP.NET获取URL方法汇总

    本文主要介绍ASP.NET获取URL的各种方法,希望能给需要的朋友一些帮助。
    2016-04-04
  • asp.net 读取并显示excel数据的实现代码

    asp.net 读取并显示excel数据的实现代码

    Microsoft Office Excel是一个很好的电子表格应用程序,在本文中,it同学会将教给你看到如何使用ASP.NET从Excel电子表格读取并显示显示数据。
    2010-02-02
  • 详解.NET Core 3.0 里新的JSON API

    详解.NET Core 3.0 里新的JSON API

    这篇文章主要介绍了详解.NET Core 3.0 里新的JSON API,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 阿里大鱼简单发送短信功能.net core版

    阿里大鱼简单发送短信功能.net core版

    这篇文章主要介绍了阿里大鱼发送短信功能.net core版,.net core版实现,只是简单发送短信功能,供大家参考,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • mssql 存储过程调用C#编写的DLL文件

    mssql 存储过程调用C#编写的DLL文件

    有时候,我们会遇到这样需求:存储过程要调用外部的动态链接库文件,来实现某个功能。
    2009-05-05
  • 使用PowerShell .Net获取电脑中的UUID

    使用PowerShell .Net获取电脑中的UUID

    这篇文章主要介绍了使用PowerShell .Net获取电脑中的UUID 的相关资料,需要的朋友可以参考下
    2016-06-06

最新评论