Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代码中的ASP.NET 5(vNext)环境标记帮助程序_Asp.net_Asp.net Core Mvc_Tag Helpers - Fatal编程技术网

代码中的ASP.NET 5(vNext)环境标记帮助程序

代码中的ASP.NET 5(vNext)环境标记帮助程序,asp.net,asp.net-core-mvc,tag-helpers,Asp.net,Asp.net Core Mvc,Tag Helpers,我试图确定如何在任何类文件中获取此标记帮助器的功能: <environment names="Development"> </environment> 我知道环境信息可以通过IHostingEnvironment对象获得,但我不知道如何在没有依赖注入的情况下获取它 是否可以从任何类获得DI注册的服务实现 在这个特定的例子中,我正在编写一些HtmlHelper扩展方法,但我认为这个问题适用于更广泛的意义。因此,从IHtmlHelper扩展方法的内部来看,这是可行的:

我试图确定如何在任何类文件中获取此标记帮助器的功能:

<environment names="Development"> </environment>

我知道环境信息可以通过IHostingEnvironment对象获得,但我不知道如何在没有依赖注入的情况下获取它

是否可以从任何类获得DI注册的服务实现


在这个特定的例子中,我正在编写一些HtmlHelper扩展方法,但我认为这个问题适用于更广泛的意义。

因此,从IHtmlHelper扩展方法的内部来看,这是可行的:

IHostingEnvironment env = HtmlHelper.ViewContext.HttpContext.RequestServices.GetService(typeof(IHostingEnvironment)) as IHostingEnvironment;

有没有一种更通用的方法可以在不依赖依赖依赖注入的情况下获取服务实例?

如果您要扩展一个HtmlHelper,那么这完全是一种有效的方法。只是小心你正在使用的东西<代码>请求服务的作用域为当前请求,
应用程序服务
的作用域为应用程序的生命周期。:)为了更好地帮助您,您为什么要在不依赖依赖依赖注入的情况下这样做?