2016-01-12 2 views
2

Предполагая, что у меня есть актер MyActor со следующим конструкторомКак передать зависимости актер при использовании Dependency Injection в Akkanet

public MyActor(IInterface someDependency, IActorRef actor1, IActorRef actor2, IActorRef actor3) 

Я использую инъекции зависимостей с actorSystem.DI().Props, поэтому я получаю актер с помощью этого линия:

var myActorRef = _actorSystem.ActorOf(_actorSystem.DI().Props<MyActor>()); 

у меня есть другие актеры, как MyActor1, MyActor2, MyActor3. Поэтому я хочу, чтобы параметр actor1 должен быть ссылкой MyActor1 и т. Д.

Как создать MyActor с правильно заполненными зависимостями?

ответ

0

Я считаю, что вы должны использовать инъекцию свойств вместо инъекции конструктора, которая не поддерживается, как вы видите. Это также зависит от вашей инфраструктуры DI. Я использую MEF и инъекцию свойств для моих актеров. Небольшой пример того, как я это делаю, можно найти в этой статье - http://usemam.blogspot.ru/2015/09/unit-testing-akkanet-actors-and-mef.html