web-dev-qa-db-ja.com

ServiceFabricステートフルサービスリモーティングV2

Visual Studio15.4で実行されている.NetStandard Asp.net Core 2.0に、ステートレスサービスによって呼び出されるステートフルサービスがあります。 Service RemotingV2を動作させることができません。

V1で機能していたステートフルサービスの古いコードは無効です

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

私はこれに従おうとしました チュートリアル が、例はステートレスのものです。

これでコードを変更しようとしましたが成功しませんでした。

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

また、チュートリアルでこのコードを使用する方法や場所についての説明はありません

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

私は立ち往生しています、誰かがそれを機能させる方法を教えてもらえますか?

10

ステートフルサービスのメソッドCreateServiceReplicaListenersで、次のコードを使用します。

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

そして、リモーティングサービスを定義するファイルinterfaceに、これを追加します。

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

(たとえば、using名前空間リストのすぐ下。)

エンドポイントを追加します:_<Endpoint Name="ServiceEndpointV2" />_

そして、クライアントを再構築します。

11
LoekD