ASP.NET Core RC1 MVC 6 - 如何从中间件访问UrlHelper并创建Url to Action

时间:2016-05-23 13:45:40

标签: asp.net asp.net-core-mvc action owin-middleware urlhelper

我正在尝试使用中间件重定向301遗留网址。

<span class="left">&larr; <a href='#' class="ellipsis">My big back link</a></span>

正如您所看到的,我正在使用MapWhen方法,该方法限制我在RedirectFromPost方法中实现我的IUrlHelper实例。 ServiceProvider为我提供了一个空实例,没有正确使用IUrlHelper.Action()所需的ActionContext。

有没有人遇到类似的挑战并且对我有洞察力?

1 个答案:

答案 0 :(得分:2)

反思之后,由于中间件在MVC之前执行,因此无法创建ActionContext,因为它根本不存在。

所以正确的方法是,如果你真的想使用UrlHelper.Action创建你的URL,使用旧的url模式创建一个ActionFilter或一个专用的Action。