Azure service fabric 服务结构有状态服务远程处理V2
在Visual Studio 15.4上运行的.Net标准Asp.Net Core 2.0中,我有一个由无状态服务调用的有状态服务。 我无法使远程服务V2正常工作 用于V1的有状态服务中的旧代码不再有效Azure service fabric 服务结构有状态服务远程处理V2,azure-service-fabric,service-fabric-stateful,Azure Service Fabric,Service Fabric Stateful,在Visual Studio 15.4上运行的.Net标准Asp.Net Core 2.0中,我有一个由无状态服务调用的有状态服务。 我无法使远程服务V2正常工作 用于V1的有状态服务中的旧代码不再有效 protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners() { return new List<ServiceReplicaListen
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new List<ServiceReplicaListener>()
{
new ServiceReplicaListener((context) =>this.CreateServiceRemotingListener(context))
};
我被卡住了,有人能告诉我如何让它工作吗?在您的有状态服务中,在方法
CreateServiceReplicaListeners
中,使用以下代码:
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return this.CreateServiceRemotingReplicaListeners();
}
protectedoverride IEnumerable CreateServiceReplicaListeners()
{
返回这个.CreateServiceRemotingReplicaListeners();
}
在定义远程处理服务接口的文件中,添加以下内容:
[程序集:FabricTransportServiceRemotingProvider(RemotingListener=RemotingListener.V2Listener,RemotingClient=RemotingClient.V2Client)]
(例如,就在使用名称空间列表下方。)
添加端点:
然后重新构建客户端。您能否提供一些有关如何调用此设置的详细信息?和客户端一样。使用服务url和分区键(如果有状态)创建ServiceProxy。我已经这样做了,但仍然不起作用。这个答案只是重复了上面在docs.microsoft.com上提到的教程中的内容,重要的是“[assembly:FabrictTransportServiceRemotingProvider(RemotingListener=RemotingListener.V2Listener,RemotingClient=RemotingClient.V2Client)]”也应该添加到客户端程序集中,不仅是服务。我最终还必须返回Microsoft.ServiceFabric.Services.Remoting.Runtime.ServiceRemotingExtensions.CreateServiceRemotingReplicaListeners(此);以及从邪恶中继承
var proxyFactory = new ServiceProxyFactory((c) =>
{
return new FabricTransportServiceRemotingClientFactory();
});
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return this.CreateServiceRemotingReplicaListeners();
}