在非 web 层获取路由对应的链接

在某些情况下,我们需要在应用层(Application)获取WEB层定义的路由链接,当然,粗暴的做法是将asp.net mvc 应用到 Application 上去。 (次方法不论!)

1,定义路由字典数据:

RouteValueDictionary values = new RouteValueDictionary(new { id= 1 , name = "abc" });

2,获取路由信息。:

VirtualPathData virtualPath = RouteTable.Routes["you route name "].GetVirtualPath([requestContext], values);
var url = virtualPath.VirtualPath ; 

 

OK!