In RC1, IUrlHelper
可以注入到服务中(用services.AddMvc()
在启动课程中)
这不再适用于RC2。有谁知道怎么做RC2就像刚刚更新一个UrlHelper
需要一个ActionContext
目的。不知道如何将其置于控制器之外。
.NET Core 3+ 和 .NET 5 更新(2020 年及更高版本)
Use LinkGenerator
如@Dmitry Pavlov 的详细描述在此线程上回答 https://stackoverflow.com/a/59791439/5101。它可以作为 Web 框架的一部分注入,并与HttpContext
已经在控制器中可用,或者可以通过注入在其他服务中访问IHttpContextAccessor
.
For ASP.NET 核心 RC2有一个github repo 上的问题 https://github.com/aspnet/Mvc/issues/3936。而不是注入IUrlHelper
,取一个IUrlHelperFactory
。听起来你也需要IActionContextAccessor
注入作为Controller
不再拥有公共财产ActionContext
.
注册依赖:
services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
然后依赖它:
public SomeService(IUrlHelperFactory urlHelperFactory,
IActionContextAccessor actionContextAccessor)
{
var urlHelper =
urlHelperFactory.GetUrlHelper(actionContextAccessor.ActionContext);
}
然后根据您的需要使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)