我有自定義中間件。我嘗試了構造函數注入來注入我的 DbContext。但它不起作用。以下不起作用并給出 InvalidOperationException:無法從根提供程序解析作用域服務“MyDbContext”;private MyDbContext _context; public RequestResponseMiddleware(RequestDelegate next, MyDbContext context){ _next = next; _context = context;} 但是當我在 InvokeAsync 方法中將它用作參數時它起作用了。以下作品public Task InvokeAsync(HttpContext context, MyDbContext _context){}有誰知道原因嗎?
1 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
DbContext
通常注冊為作用域服務。
在中間件中使用作用域服務時,將服務注入
Invoke
orInvokeAsync
方法。不要通過構造函數注入來注入,因為它會強制服務表現得像 singleton。
強調我的
ASP.NET Core 中的引用依賴注入:作用域服務生命周期
- 1 回答
- 0 關注
- 107 瀏覽
添加回答
舉報
0/150
提交
取消