2015-12-01 36 views
1

我需要一个Actor来实现多个接口。这可能吗?多个IActor接口

目前,当我试图使Actor类型实现从从IActor派生其他接口派生的接口,我得到它实现了多个接口,并ActorServiceAttribute需要被用于区分消息。添加ActorServiceAttribute不会删除错误消息。

[编辑]

我相信我解决了这个问题。错误令人困惑。您需要直接在Actor类型上实现两个接口。构建时发现似乎并没有通过接口层次来枚举IActor

回答

0

感谢您报告问题。你能提供关于你的界面层次的信息吗?使用有效的服务名称在actor上添加ActorServiceAttribute应该解决了错误。默认情况下,参与者服务使用参与者接口进行命名。在这种情况下,由于有两个由角色实现的不同角色接口(IBaseActor,IDerivedActor),因此运行时无法确定角色服务的命名。这是因为在客户端,可以创建ActorProxy或ActorProxy。

+0

我似乎无法像上面所描述的那样重现它。 'ActorServiceAttribute'正在修复它。也就是说,'Actor1':'IActorSub':'IActorBase':'IActor'产生错误。 我认为现在错误是有道理的。尽管这里有一个继承链,但IActorSub和IActorBase接口最终都实现了IActor。 – wasabi