我正在开发一个带有超媒体的 asp.net web api。现在我正在创建一个链接创建器,它创建一个指向控制器公开的资源的链接。它应该支持属性路由,我已经通过反射解决了这个问题,而且还支持在 Owin.AppBuilder 中指定的映射路由:
public void Configuration(IAppBuilder appBuilder)
{
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { controller = "Home", id = RouteParameter.Optional }
);
// ...
}
我可以为此使用UrlHelper
该类,但这取决于当前请求,并且我正在创建的链接可能指向另一个控制器,因此与当前请求没有关系。所以我需要的是为名为DefaultApi
. 有什么办法吗?