2017-10-14 116 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