當演員服務啓動時,我想自動訂閱described in the documentation中的任何事件。手動訂閱活動作品。但是,當服務被實例化時,是否有自動訂閱actor服務的方法,就像OnActivateAsync()一樣?服務結構演員服務依賴注入和演員事件
我想要做的是通過依賴注入來解決這個問題,它在MyActor類的實例化中通過OnActivateAsync調用來爲客戶端訂閱事件的接口。但是,我有依賴注入問題。
使用Microsoft.ServiceFabric.Actors.2.2.207應該支持到actor服務的依賴注入。現在,在實現Microsoft.ServiceFabric.Actors.Runtime.Actor時,將使用ActorService和ActorId參數創建默認構造函數。
我想添加我自己的構造函數,其中有一個額外的接口被傳入。你如何爲actor服務註冊以添加依賴項?在默認的Program.cs主要提供這個
IMyInjectedInterface myInjectedInterface = null;
//inject interface instance to the UserActor
ActorRuntime.RegisterActorAsync<MyActor>(
(context, actorType) => new ActorService(context, actorType,() => new MyActor(myInjectedInterface))).GetAwaiter().GetResult();
但是在那裏說:行了「()=>新MyActor(myInjectedInterface)」它告訴我一個錯誤
委託「功能」不採取0 參數
望着在演員類的構造函數它具有以下
MyActor.Cs
internal class MyActor : Microsoft.ServiceFabric.Actors.Runtime.Actor, IMyActor
{
private ActorService _actorService;
private ActorId _actorId;
private IMyInjectedInterface _myInjectedInterface;
public SystemUserActor(IMyInjectedInterface myInjectedInterface, ActorService actorService = null, ActorId actorId = null) : base(actorService, actorId)
{
_actorService = actorService;
_actorId = actorId;
_myInjectedInterface = myInjectedInterface;
}
1)如何解決嘗試解析Actor依賴項時收到的錯誤?
委託「功能」不拿0 參數
獎勵題:
如何解決IMyInjectedInterface的接口實例被注入到演員服務時打電話給我無狀態服務(呼叫客戶端)?
我有一個在我的web-API上構建Autofac註冊表的web-api。 Autofac註冊接口和實現。是否有可能讓共享項目上的接口爲(actor服務接口)並讓web-API使用autofac實現這些接口?我正在嘗試這種方式,因爲事件映射似乎是如何設置的。 –