【发布时间】:2015-05-04 21:08:35
【问题描述】:
在 ASP.NET 5 核心中有一个接口,IHostingEnvironment,但是查看 ASP.NET 的示例和源代码,有 3 种不同的方式来获取实例。
使用属性...
[FromServices]
public IHostingEnvironment HostingEnvironment { get; set; }
作为通过 Startup 类中的 configure 方法传递的参数...
public void Configure(IApplicationBuilder application, IHostingEnvironment environment)
{
}
或者通过以下任一行使用 DI...
var hostingEnvironment = requestServices.GetService<IHostingEnvironment>();
var hostingEnvironment = app.ApplicationServices.GetRequiredService<IHostingEnvironment>();
目前尚不清楚使用哪种方法正确。
作为一个不清楚的例子,如果调用需要从 Startup 类中实现 IHostingEnvironment 的类的实例的方法,是否应该将该实例作为方法调用中的参数传递, 应该使用 DI 还是别的什么?
【问题讨论】:
-
我会说它们都是一样的。只需选择对您最方便的一个即可。
标签: c# asp.net asp.net-core