再次试验用ASP.NET来Redirect
来源:互联网 发布:广东11选5遗漏数据网站 编辑:程序博客网 时间:2024/05/09 12:54
再次试验用ASP.NET来Redirect
以前我曾经写过文章介绍如何使用Global.asax来做重定向。可是实践中出现很多问题。
新的项目我使用HttpModule来做。使用HttpModule而不是HttpHandler可以避免无限循环的问题。HttpHandler其实是截获Handler,所有后来的事都要自己手工解决。我只是重新定向,没有这么复杂。HttpModule看上去比较实惠,所以就是这个了。
public class HttpModule : IHttpModule
{
public void Dispose()
{ }
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
string From = Config.GetAppSettings("From");
string To = Config.GetAppSettings("To");
string WebAppPath = HttpContext.Current.Request.ApplicationPath;
From = From.Replace("~/", "");
To = To.Replace("~/", WebAppPath + "/");
if (HttpContext.Current.Request.RawUrl.Contains(From))
{
HttpContext.Current.Server.Transfer(To, true);
}
}
}
{
public void Dispose()
{ }
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
string From = Config.GetAppSettings("From");
string To = Config.GetAppSettings("To");
string WebAppPath = HttpContext.Current.Request.ApplicationPath;
From = From.Replace("~/", "");
To = To.Replace("~/", WebAppPath + "/");
if (HttpContext.Current.Request.RawUrl.Contains(From))
{
HttpContext.Current.Server.Transfer(To, true);
}
}
}
只要在Web.config里面加上From和To的AppSetting就可以了。Web.config中加入如下httpModule:
<add name="HttpModule" type="HttpModule, MyLib" />
前面是类,后面是dll的文件名。如果IIS中没有这个虚拟文件,要这样设置:打开ISAPI,设置Mapping,勾选Check that file exists, 这样,打开浏览器就可以访问到假地址。
- 再次试验用ASP.NET来Redirect
- 用ASP.NET来Redirect
- Asp.Net Response.Redirect()
- 再次使用asp.net
- Redirect and POST in ASP.NET
- asp.net alert后redirect弹窗不显示
- 用Asp.Net 来发送E-mail
- 用什么来开发ASP.NET?
- 用Asp.Net 来发送E-mail
- ASP.NET学习 之 Redirect,Transfer,Execute的区别
- ASP.NET学习 之 Redirect,Transfer,Execute的区别
- Asp.net MVC Render及Redirect的扩展
- Asp.net MVC Render及Redirect的扩展
- asp.net response.redirect和Server.Transfer区别
- ASP.NET Response.Redirect 丢失 Session的问题
- [原创]ASP.NET中Response.Redirect()方法深度剖析
- ASP.NET中Response.Redirect()方法深度剖析(转)
- asp.net response.redirect和Server.Transfer区别
- prjClearCMOS(prjClearBIOSPassword)- 破BIOS密码 - 清除CMOS - PC汇编 - Written by HackerJLY In Universty
- HashMyFiles v1.10
- 忆Java基础知识之——Java语言介绍与运算符和流程
- 毕业一年后之自我总结
- sql函数集
- 再次试验用ASP.NET来Redirect
- 我看软件设计
- 26个favicon在线制作工具
- MyEclipse6.0+struts2.0实现登陆案例
- Windows Live OneCare v2.0.2500.12
- Api Monitor v 1.2.1
- Runscanner v1.5.0.39 Final
- DataRescue IDA Pro v5.2 Advanced Previous DB's Compatability FiX by ViTYAN
- Microsoft Math v3.0.1184.1020 - 微软超强计算器