我有以下设置:
public interface ISomeService : IService, INonServiceFabricService
{
}
INonServiceFabricService
是一个没有Service Fabric依赖关系的接口,它使我可以将应用程序代码与基础结构分离:
public interface INonServiceFabricService
{
Task DoSomething();
}
然后,我的实现继承自ISomeService
:
public class ActualService : StatefulService, ISomeService
{
public Task DoSomething()
{
// Something
}
}
一切正常,运行正常,但是当我尝试创建代理时:
var proxy = ServiceProxy.Create<ISomeService>(Uri, new ServicePartitionKey(0));
我收到以下错误:
类型“ ISomeService”不是服务接口,因为它不是 从接口“ INonServiceFabricService”派生
答案 0 :(得分:0)
因此,事实证明这是不可能的。
您的Service Fabric服务接口(例如,所讨论的ISomeService
)所继承的每个接口都必须来自IService
。参见here。
该错误实际上应该说明:
类型“ INonServiceFabricService”不是服务接口,因为它 并非源自接口“ IService”