Asp.Net 自定义 httpmodel 中间件 管道

时间:2021-11-06 23:53:50

https://msdn.microsoft.com/en-us/library/aa719858(v=vs.71).aspx

http://www.cnblogs.com/jimmyzhang/archive/2007/11/25/971878.html

web.config

<configuration>
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<add name="MyRedirect" type="MyRedirect.MyRedirect, MyRedirect" />
</modules>
</system.webServer>
</configuration>

创建类库 编译该类   把生成的DLL直接放到bin  然后修改config   OK

using System;
using System.Collections;
using System.Web; namespace MyRedirect
{
public class MyRedirect : IHttpModule
{
public String ModuleName
{
get { return "MyRedirect"; }
} // In the Init function, register for HttpApplication
// events by adding your handlers.
public void Init(HttpApplication application)
{
application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
} // Your BeginRequest event handler.
private void Application_BeginRequest(Object source, EventArgs e)
{ HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
//context.Response.Redirect("http://www.baidu.com");
//context.Response.Write("<h1><font color=red>test</font></h1><hr>");
string accessUrl = System.Configuration.ConfigurationManager.AppSettings["AccessUrl"];
string redirectUrl = System.Configuration.ConfigurationManager.AppSettings["RedirectUrl"];
//context.Response.Write("<h1><font color=red>"+ accessUrl + "</font></h1><hr>");
//context.Response.Write("<h1><font color=red>"+ redirectUrl + "</font></h1><hr>");
if (context.Request.Url.Host == accessUrl)
{ context.Response.Redirect(redirectUrl);
} } public void Dispose()
{
}
}
}

相关问题:

http://www.cnblogs.com/xiaoshi657/p/6515492.html