【问题标题】:ASP MVC Create CustomRoute Sub Domain?ASP MVC 创建 CustomRoute 子域?
【发布时间】:2012-11-15 16:43:54
【问题描述】:

在我的asp mvc应用程序中,我有一个继承RouteBase的CustomRoute(这个类用于处理子域 url)

public class CustomRoute : RouteBase
{
        public override RouteData GetRouteData(HttpContextBase httpContext)
        {
             // do something
        }

        public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
        {
            // do something
        }
}

我在 Global.asax.cs 文件中的 RegisterRoutes 方法:

public static void RegisterRoutes(RouteCollection routes)
{
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

      routes.Add(new CustomRoute());

      routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );
}

我的目标是处理所有包含基于 CustomRoute 的子域的 url,因为另一个 url 将使用 asp mvc 默认路由。如何?任何帮助将不胜感激

其他问题是:所有包含子域的资源(action / css / image....),它绝对首先由CustomRoute处理:-(

感谢您阅读到最后:-)

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-routing


    【解决方案1】:

    您可以将您的资源添加到IgnoreRoute 列表中

     routes.IgnoreRoute("/Content/CSS/{*pathInfo}");
     routes.IgnoreRoute("/Content/Images/{*pathInfo}");
    

    【讨论】:

    • 感谢帮助我解决了资源文件的问题,但是对于像contoso.com/Homecontoso.com/Comment这样的url,它仍然调用CustomRoute类中的方法GetVirtualPath(),我只想调用GetVirtualPath () 方法用于包含子域的所有 url :-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    相关资源
    最近更新 更多