HttpModule을 사용하여 DNN과 전혀 상호 작용하지 않고 원하는 것을 달성 할 수 있습니다. 종류의 같은 :
public class PidRewriteModule : System.Web.IHttpModule
{
public void Dispose()
{
}
public void Init(System.Web.HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app != null)
{
Match mPidCheck = new Regex(@"^/(?<pid>[0-9]+)/?$").Match(app.Context.Request.Url.AbsolutePath);
if (mPidCheck.Success)
{
app.Context.RewritePath("~/default.aspx", String.Empty, String.Concat("pid=", mPidCheck.Groups["pid"].Value));
}
}
else
return;
}
}
그런 다음 당신은 당신의 Web.config에이를 추가 할 수 있습니다
<modules runAllManagedModulesForAllRequests="true">
<add name="PidRewriteModule" type="Assembly.Namespace.PidRewriteModule, Assembly"/>
</modules>
은 넣어 그의 system.webServer 노드한다. 대체 어셈블리 및 네임 스페이스.
이 정보는 모두 IIS7 용입니다. IIS 6에서는 완전히 다르지 않지만 이전 구현에서는 ISAPI 필터 경로를 따라야합니다.
'ASP.NET MVC' 발견 –