本文介绍了它是不可能通过使用Asp.net路由的路由现有的网址是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

From我的最后一个问题,我已经发现,Asp.net路由不能与现有的网址路径的更多信息的。

From my last question, I have been found that Asp.net Routing can't route with existing url for more info read this.

如何使用Asp.net路由重定向URL存在到另一个网址?

How to redirect existing url to another url by using Asp.net Routing?

提示!

我想,这behevior像否认behevior的访问总是重定向到默认的登录页面。

I think, this behevior like access denied behevior that always redirect to default login page.

谢谢,

推荐答案

我找到了解决办法。这是通过使用HTTP模块非常容易。请看看我下面的例子code。

I found solution. It's very easy by using HttpModule. Please look at my following example code.

在全局的Web.config

<configuration>
    <system.web>
        <httpModules>
            <add name="RedirectModule" type="MySolution.RedirectModule, MySolution" />
        </httpModules>
    </system.web>
    <!-- The following code will be used by IIS 7+ -->
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="RedirectModule" />
            <add name="RedirectModule" type="MySolution.RedirectModule MySolution" />
        </modules>
    </system.webServer>
</configuration>

在MySolution / RedirectModule.cs

using System;
using System.Web;

namespace MySolution
{
    public class RedirectModule : IHttpModule
    {
        #region IHttpModule Members

        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(HttpApplication_BeginRequest);
        }

        public void Dispose() {}

        #endregion

        void HttpApplication_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication app = sender as HttpApplication;

            if (*[logic for checking before redirect]*)
            {
                app.Response.Redirect(*[url]*);
            }
        }
    }
}

要了解详情,请查看URL映射源$ C ​​$ C如。

PS。 IHttpModule的是非常强大的接口。它可以和任何请求类型处理。因此,它可以帮我彻底解决这个问题。

PS. IHttpModule is very powerful interface. It can handle with every request type. So, It can help me to completely solve this question.

这篇关于它是不可能通过使用Asp.net路由的路由现有的网址是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 03:03