ASP MVC创建CustomRoute子域?

时间:2012-11-15 16:43:54

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

在我的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处理: - (

感谢阅读到最后: - )

1 个答案:

答案 0 :(得分:1)

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

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