2017-10-14 14 views
0

Visual Studio 15.4で実行されている.Net Standard Asp.net Core 2.0でステートレスサービスから呼び出されるステートフルサービスがあります。 Service Remoting V2を動作させることができません。サービスファブリックステートフルサービスリモーティングV2

V1のために働いていたステートフルサービスで古いコードはもう

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

ない有効である私は、このtutorialに従うことを試みたが、例としては、ステートレス 1のためです。

私はこれでコードを変更せずに成功しようとしました。

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

また

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

は私がこだわっているチュートリアルでは、このコードを使用する方法や場所には何の指示がない、誰かがそれを動作させるためにどのように私を見るだろうか?方法CreateServiceReplicaListenersであなたのステートフルなサービスで

答えて

1

、このコードを使用します(

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

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

そして、あなたのリモートサービスインタフェースを定義するファイルでは、これを追加しますたとえば、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