0

私のaspmvcアプリケーションには、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は、aspmvcのデフォルトルートを使用します。方法?どんな助けでも大歓迎です

その他の問題は次のとおりです。サブドメインを含むかどうかに関係なく、すべてのリソース(action / css / image ....)は、最初にCustomRouteによって絶対的に処理されます:-(

最後まで読んでくれてありがとう:-)

4

1 に答える 1

1

IgnoreRouteリストにリソースを追加できます

 routes.IgnoreRoute("/Content/CSS/{*pathInfo}");
 routes.IgnoreRoute("/Content/Images/{*pathInfo}");
于 2012-11-15T17:07:05.033 に答える