【发布时间】:2020-03-17 12:12:46
【问题描述】:
我想在 Razor PageModel 中使用范围服务。注册是这样的:
services.AddScoped<IOperationScoped, Operation>();
但微软表示不要在作用域服务上使用构造函数注入:
在中间件中使用范围服务时,将服务注入 Invoke 或 InvokeAsync 方法。不要通过构造函数注入进行注入,因为它会强制服务表现得像单例一样。
但是我必须在 Razor 外部构造函数中注入范围服务的哪个选项?
【问题讨论】:
-
注意:在中间件中使用作用域服务时,该引用不适用于
PageModel,可以并且建议使用构造函数注射
标签: asp.net-core razor dependency-injection