我有一個 ASP.NET Core 解決方案,其中包含多個 API、服務、資料等專案。現在我想在我的解決方案中添加一個 SignalR 集線器。為了在向客戶端發送訊息之前生成有效負載,我想要一個服務。但我無法在服務專案中創建它,因為 API 專案依賴于它,而 SignalR 在 API 專案中。我想知道實作這一目標的最佳方法是什么。替代設計理念也將受到贊賞。
uj5u.com熱心網友回復:
我很確定您可以在類別庫中定義您的集線器,因此它不在您的 API 專案中。
或者
- 在另一個庫中宣告“訊息介面”
- 參考該庫并在您的 API 專案中實作介面。該實施者將負責與中心對話。
- 從您的服務中參考介面(而不是直接集線器)。
- 將訊息介面的實作者傳遞給服務方法(或在 DI 中注冊),以便您的服務可以請求介面并讓選擇的實作者(在 API 專案中)完成作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486771.html
上一篇:C#MVC集成測驗-System.InvalidOperationException:無法從根提供程式決議范圍服務“<APPNAME>.Data.ApplicationDbContext”
