美好的一天。
我正在尝试将一个.NET 4.5类库转换为.NETCoreApp 1.1并坚持使用一段代码:
public virtual ILifetimeScope Scope()
{
return AutofacDependencyResolver.Current.RequestLifetimeScope;
}
AutofacDependencyResolver在.NET 4.5中的Autofac.Integration.Mvc中声明,但看起来在.NETCoreApp 1.1中不存在。
那么,我现在该如何返回当前的ILifetimeScope?
提前谢谢你, 哔叽
答案 0 :(得分:1)
在完整的.NET Framework上,ASP.NET Core是一个非常非常不同的野兽。它更像是Web API(没有“中央依赖解析器”),而不像MVC。
我建议您查看the ASP.NET Core integration documentation,特别是“与ASP.NET经典的差异”部分,其中包含此项目符号(以及其他内容):
不再使用DependencyResolver。其他ASP.NET集成机制 需要在中设置基于Autofac的自定义依赖项解析程序 各个地方。使用
Microsoft.Extensions.DependencyInjection
和Startup.ConfigureServices
方法,你现在只需返回IServiceProvider
和“魔术发生。”在控制器,类中, 如果您需要手动进行服务定位,请获取IServiceProvider
。