【发布时间】:2018-10-08 11:13:44
【问题描述】:
Simple Injector (SI) 文档here 展示了如何将 SI 与 ASP.NET Core 集成:
private void IntegrateSimpleInjector(IServiceCollection services) {
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddSingleton<IControllerActivator>(
new SimpleInjectorControllerActivator(container));
services.AddSingleton<IViewComponentActivator>(
new SimpleInjectorViewComponentActivator(container));
services.EnableSimpleInjectorCrossWiring(container);
services.UseSimpleInjectorAspNetRequestScoping(container);
}
此示例代码展示了如何将 SI 与控制器和视图组件(MVC 模型)集成在一起,我们在 Razor 页面.
但是,这并没有将 SI 集成到 Razor Pages 中,这是随 ASP.NET Core 2.0 发布的新功能。这基本上是一个 MVVM 模型(不完全是)。
所以 Razor 页面的每个视图都有一个PageModel,它就像控制器一样。我想使用 SI 注入到这个类的构造函数中。
【问题讨论】:
标签: c# asp.net-core .net-core simple-injector razor-pages