Service Fabric Stateful Service Remoting V2

Fra*_*llo 9 azure-service-fabric service-fabric-stateful

我在Visual Studio 15.4上运行的.Net Standard Asp.net Core 2.0中有一个无状态服务调用的状态服务.我无法使Service Remoting V2工作.

旧的代码,对V1的工作状态服务是无效的

  protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
    {
        return new List<ServiceReplicaListener>()
            {
                new ServiceReplicaListener((context) =>this.CreateServiceRemotingListener(context))
            };
Run Code Online (Sandbox Code Playgroud)

我尝试按照本教程,但示例是针对无状态的.

我试图改变这里的代码没有成功.

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
    {
        return new List<ServiceReplicaListener>()
            {
                new ServiceReplicaListener((c) =>new FabricTransportServiceRemotingListener(c, this))
            };
    }
Run Code Online (Sandbox Code Playgroud)

此外,没有关于如何或在何处使用本教程中此代码的说明

var proxyFactory = new ServiceProxyFactory((c) =>
   {
       return new FabricTransportServiceRemotingClientFactory();
   });
Run Code Online (Sandbox Code Playgroud)

我被卡住了,有人能告诉我如何让它发挥作用吗?

小智 10

在有状态服务中,在方法中CreateServiceReplicaListeners,使用以下代码:

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
    return this.CreateServiceRemotingReplicaListeners();
}
Run Code Online (Sandbox Code Playgroud)

在定义远程服务接口的文件中,添加以下内容:

[assembly: FabricTransportServiceRemotingProvider(RemotingListener = RemotingListener.V2Listener, RemotingClient = RemotingClient.V2Client)]

(例如,在using名称空间列表下方.)

添加端点: <Endpoint Name="ServiceEndpointV2" />

并重建客户端.