2016-11-07 15 views
0

CalculatorサービスのWcfCommunicationClientを作成する方法については、「Azure Service Fabricのプログラミング」のチュートリアルの後で、私は答えが見つからないという問題に遭遇しましたが、サービスファブリックサービスを起動できません

コードは本の中とほぼ同じであり、サービス(WCF)は、次のように作成されます。サービスが初めて呼び出されたとき

protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() 
{ 
    return new[] 
    { 
    new ServiceInstanceListener(initParams => new WcfCommunicationListener<ICalculatorService>(initParams, this, WcfUtility.CreateTcpListenerBinding(), "ServiceEndpoint")) 
    }; 
} 

、コールは永遠にハングし、サービス・ファブリック・エクスプローラConsiderWarningAsError = falseの場合、= 'ReplicaOpenStatus'、 HEALTHSTATE = '警告'、プロパティをソースID = 'System.RA':

不健康なイベント:次のエラー+スタックトレースを提供します。レプリカには開いている間に複数の失敗があった エラー= System.InvalidOperationException (-2146233079)ICalculatorServiceのためのコントラクトタイプを実装しています。 、サービスの種類が一致しません。 ServiceContract over。 System.ServiceModel.Description BIJ BIJ System.ServiceModel.Description.ServiceReflector.GetContractTypeAndAttribute(タイプ InterfaceTypeは、ServiceContractAttribute & contractAttribute)BIJ System.ServiceModel.Description.TypeLoader.LoadContractDescriptionHelper(タイプ contractType、タイプサービス種別、オブジェクトserviceImplementation)。 ContractDescription.GetContract(タイプ contractType)BIJ B( listenerBinding、EndpointAddressアドレス、文字列endpointResourceName結合ServiceContextの ServiceContextの、TServiceContract wcfServiceObject) Microsoft.ServiceFabric.Services.Communication.Wcf.Runtime.WcfCommunicationListener 1.CreateServiceEndpoint(Type contractType, Binding binding, EndpointAddress address) bij Microsoft.ServiceFabric.Services.Communication.Wcf.Runtime.WcfCommunicationListener 1..ctor (initParams StatelessServiceContext )CでCalculatorService.CalculatorService.b__3_0をBIJ IJ Microsoft.ServiceFabric.Services.Communication.Wcf.Runtime.WcfCommunicationListener`1..ctor( listenerBinding、文字列endpointResourceName結合ServiceContextの ServiceContextの、TServiceContract wcfServiceObject)。文書は 2015 \ Visual Studioのを\ \ \ Users \ユーザーservelプロジェクトは、\ CalculatorApplication \ CalculatorService \ CalculatorService.cs: System.Runtime.CompilerServices BIJ 45 BIJ Microsoft.ServiceFabric.Services.Runtime.StatelessServiceInstanceAdapter.d__10.MoveNext() をのReGel .TaskAwaiter.ThrowForNonSuccess(タスク タスク)bij System.Runtime。 CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificationどうやらサービスが開始されカント(タスク タスク)BIJ Microsoft.ServiceFabric.Services.Runtime.StatelessServiceInstanceAdapter.d__0.MoveNext()

。では、これを修正するために何をすべきか?

答えて

2

サービスがWCF ServiceContractおよびOperationContract属性のインターフェイスを実装していることを確認してください。この例のようにhere

+0

すべての新しい情報hahaha私は[ServiceContract]をインターフェイスに追加するのを忘れていました。ありがとう! – Laurijssen

関連する問題