【发布时间】:2015-05-07 19:35:19
【问题描述】:
我正在尝试做全属性路由,不使用常规路由,并尝试根据当前域告诉我的路由它们属于哪个区域。
在约定路由中,我可以指定我的object constraints,以此为例:
context.MapRoute(
"MyRouteName",
"admin/sign-in",
new { controller="AdminController", action="SignIn" },
new { SitePermitted = new SiteConstraint("Admin") } // <-- how do I do this exact line of code but in attribute routing
);
SiteConstraint 继承自 IRouteConstraint。我如何做同样的事情,但使用属性路由?我正在寻找这样的东西:
[AreaName("Admin")]
[Route("admin/sign-in")]
[new SiteConstraint("Admin")]
public ActionResult SignIn(...) {...}
其中MyConstraint 有一个Match 方法获取当前的http 请求,如果它的域是“myadmindomain.com”,那么Match 方法返回true,并且MVC 会在用户在myadmindomain 上执行此路由.com/admin/sign-in.
【问题讨论】:
标签: attributerouting asp.net-mvc-5.2