2017-10-14 78 views
0

我有一个无状态服务调用的状态服务,运行在Visual Studio 15.4上的.Net标准Asp.net核心2.0。 我无法使Service Remoting V2正常工作。服务结构有状态服务远程处理V2

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

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

我试图按照此tutorial但例子是,对于无国籍之一。

我试图改变这个代码没有成功。

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

还有一些关于如何或在本教程中

var proxyFactory = new ServiceProxyFactory((c) => 
    { 
     return new FabricTransportServiceRemotingClientFactory(); 
    }); 

我坚持使用此代码没有说明,可能有人告诉我怎么做工作?

回答

1

在有状态的服务,方法CreateServiceReplicaListeners,使用此代码:

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners() 
{ 
    return this.CreateServiceRemotingReplicaListeners(); 
} 

以及定义您的远程服务接口在文件中,补充一点:

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

(例如,正好在using命名空间列表下面。)

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

并重建客户端。

+0

你能否提供一些关于如何调用这个设置的细节?就像在客户端一样。 – Choco

+0

使用服务url和分区键(如果有状态)创建ServiceProxy https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication-remoting#call-远程服务的方法 – LoekD