Несколько интерфейсов IActor

Мне нужен Actor для реализации нескольких интерфейсов. Это возможно?

В настоящее время, когда я пытаюсь реализовать интерфейс типа Actor, производный от другого интерфейса, производного от IActor, я получаю сообщение о том, что он реализует несколько интерфейсов, и для их различения необходимо использовать ActorServiceAttribute. Добавление ActorServiceAttribute не удаляет сообщение об ошибке.

[РЕДАКТИРОВАТЬ]

Я считаю, что решил эту проблему. Ошибки сбивают с толку. Вам нужно напрямую реализовать ОБА интерфейса для типа Актера. Обнаружение во время сборки, похоже, не проходит через иерархию интерфейсов, чтобы найти IActor.


person Jerome Haltom    schedule 01.12.2015    source источник


Ответы (1)


Спасибо, что сообщили о проблеме. Можете ли вы предоставить информацию об иерархии вашего интерфейса. Добавление атрибута ActorServiceAttribute к актеру с допустимым именем службы должно было устранить ошибку. По умолчанию службы субъектов именуются с использованием интерфейсов субъектов. В этом случае, поскольку существует два разных интерфейса субъекта (IBaseActor, IDerivedActor), которые реализуются субъектом, среда выполнения не может определить имя для службы субъекта. Это связано с тем, что на стороне клиента можно создать ActorProxy или ActorProxy.

person VipulM-MSFT    schedule 02.12.2015
comment
Кажется, я не могу воспроизвести это ТОЧНО, как я описал выше. ActorServiceAttribute исправляет это. Тем не менее, Actor1 : IActorSub : IActorBase : IActor выдает ошибку. Я думаю, что ошибка имеет смысл сейчас. Несмотря на то, что здесь есть цепочка наследования, оба интерфейса IActorSub и IActorBase в конечном итоге реализуют IActor. - person Jerome Haltom; 04.12.2015