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

若要前行,就得离开你现在停留的地方。要有对自己纯粹而坚韧的标准,才可以跟着直觉和信念走去。自卑心最伤害自己,是最大的障碍。有时候阳光很好,有时候阳光很暗,这就是生活。
虽然最后是实现了,但身为程序员的我,却总是感觉利用其他不开源的组件自己总把握不了技术的核心。其实在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下通过泛解析和伪静态实现二级域名的实现方法就介绍到这了。昨天已成为过去,今天是我们的现在,明天还是未来。让我们告别过去,珍惜现在,看清未来,活在当下。更多相关asp.net下通过泛解析和伪静态实现二级域名的实现方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
ASP.NET轻量级MVC框架Nancy的基本用法

使用grpcui测试ASP.NET core的gRPC服务

ASP.NET Core中的对象池介绍

asp.net中MVC的处理流程详解

ASP.NET Core的日志系统介绍