Asp.net mvc 使用asp.net mvc的catchall maproute时捕获基本url

Asp.net mvc 使用asp.net mvc的catchall maproute时捕获基本url,asp.net-mvc,maproute,url-action,Asp.net Mvc,Maproute,Url Action,如果我使用像这样的地图路线 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); url.Action(“,”)的结果url类似于www.mysite.com/,这是我网站的基本url

如果我使用像这样的地图路线

routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
url.Action(“,”)
的结果url类似于
www.mysite.com/
,这是我网站的基本url。但是当我用星号的时候

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

url.Action(“,”)
的结果url类似于
www.mysite.com/Home/Index/
,但在第二种情况下,我希望获得
www.mysite.com/
,这是我的基本url。我该怎么办

我找到了一个捕获基本url的解决方案。您可以使用
HttpRuntime.AppDomainAppVirtualPath
获取基本url,如图所示。

您刚才不是问过吗?尽管它们看起来彼此不同,但这是不同的。也许我可以把问题组合起来,但我不知道怎么做,这不能满足我的需要;使用catchall maproute时,我需要获得www.mysite.com/。