Azure service fabric 服务结构有状态服务远程处理V2

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

在Visual Studio 15.4上运行的.Net标准Asp.Net Core 2.0中,我有一个由无状态服务调用的有状态服务。 我无法使远程服务V2正常工作

用于V1的有状态服务中的旧代码不再有效

  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();
}