問題タブ [service-fabric-stateful]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure-service-fabric - ServiceFabric StatefulService デプロイのトラブルシューティング
ServiceFabric バージョン 5.1.163.9590 のステートフル サービスを使用して、独自の状態を管理する 3 つの WebApi サービスを使用してデモ アプリケーションをデプロイしようとしています。
3 つのサービスのうち 2 つがエラーなしで起動してパーティションを作成しますが、最後の噴出イベントで一連の警告とエラーが発生し、エラーの詳細に次の興味深いメッセージが表示されます。
このエラー メッセージへの外部参照が見つかりません。
アプリケーションとサービスの展開側、またはクラスター管理側からこれを修正する方法はありますか?
c# - IReliableQueue エンキューのシリアル化エラー
ステートフル サービス ファブリック アプリケーションで Reliable Queue を使用しています。アイテムをエンキューしようとすると、エンキュー メソッドが例外をスローします。
使用されるコードは
myQueue.EnqueueAsync で、例外がスローされています
データ コントラクト名 'CreateCommand: http://schemas.datacontract.org/2004/07/TestService ' で 'TestService.CreateCommand' を入力することは想定されていません。DataContractSerializer を使用している場合は、DataContractResolver の使用を検討してください。または、KnownTypeAttribute 属性を使用するか、シリアライザーに渡される既知の型のリストにそれらを追加するなどして、既知の型のリストに静的に認識されていない型を追加します。
スタックトレース
System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType (DataContract dataContract、XmlWriterDelegator xmlWriter、オブジェクト obj、ブール値の verifyKnownType、RuntimeTypeHandle 宣言された TypeHandle、宣言された型) でSystem.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator ライター、オブジェクト グラフ、DataContractResolver dataContractResolver) で System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator ライター、オブジェクト グラフ、DataContractResolver dataContractResolver) で System.Runtime.シリアル化。XmlObjectSerializer.WriteObjectHandleExceptions (XmlWriterDelegator ライター、オブジェクト グラフ、DataContractResolver dataContractResolver)、System.Runtime.Serialization.XmlObjectSerializer.WriteObject (XmlDictionaryWriter ライター、オブジェクト グラフ)、Microsoft.ServiceFabric.Replicator.DataContractStateSerializer
1.Write(T value, BinaryWriter binaryWriter) at System.Fabric.Store.TStore
5.GetValueBytes(TValue currentValue, TValue newValue) System.Fabric.Store.TStore で5.<AddAsync>d__4.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.ServiceFabric.Data.Collections.DistributedQueue
1.d__9.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスク タスク) で System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification( Task task) の System.Runtime.CompilerServices.TaskAwaiter.GetResult()
の TestService.TestService.d__2.MoveNext() の D:\Projects\Local\ReliableSerialization\Application1\TestService\TestService.cs:System.Runtime の 51 行目。 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(タスク タスク) の CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスク タスク) Microsoft.ServiceFabric.Services.Runtime.StatefulServiceReplicaAdapter.d__f.MoveNext()
Concrete 型を使用するようにコードを変更すると、正常に機能しました。
私の場合IReliableQueue<CreateCommand>
うまくいきました。
c# - Microsoft Service Fabric ステートフル サービスが開始されない
突然、ローカルの Service Fabric がステートフル サービスを開始できなくなりました。SDK をアンインストールしようとしましたが、うまくいきません。同じサービスが Azure クラスターで正常に実行されます。
Visual Studio のクイックスタート サービスでさえ開始されない
サービス ステータス: fabric:/testapp/Stateful1 の準備ができていません。1 つのパーティションが残っています。
サービス ステータス: fabric:/testapp/Stateful1 の準備ができていません。1 つのパーティションが残っています。
時間がかかりすぎています。アプリケーションはまだ準備ができていません。スクリプト 'Get-ServiceFabricApplicationStatus' の実行が完了しました。経過時間: 00:01:41.7659838
Service Fabric Explorer からのエラー: エラー イベント: SourceId='System.FM'、Property='State'。パーティションがターゲット レプリカまたはインスタンス数を下回っています。
azure-service-fabric - EndPoint は、Service Fabric サービスの ServiceManifest で何を構成しますか?
アクター、ステートフル サービス、ステートレス サービスを 1 つの ServiceManifest にまとめた複数のサービスを含む Service Fabric サービス プロジェクトがあります。
2 つのステートフル サービスが機能しませんでした。コンストラクターが呼び出され、通信リスナーが (リモート処理によって) 作成されましたが、RunAsync メソッドが呼び出されませんでした。
ServiceManifest.xml からエンドポイントのリストを削除すると、サービスが再び機能し始めました。しかし今、私たちはこれがなぜ、どのように機能するのか疑問に思っています。誰か説明してくれませんか?
説明のために、関連するセクションは
これに変えてから
すべてが機能しました。しかし、なぜ?
編集 完全な ServiceManifest は次のとおりです。
azure-service-fabric - パーティションがクォーラムを失っています
ステートレス Web API と 2 つのパーティションを持つステートフル サービスを持つ Service Fabric アプリケーションがあります。ステートレス Web API は、Web API コントローラーを定義しServiceProxy.Create
、ステートフル サービスのリモート プロキシを取得するために使用します。リモーティング呼び出しは、メッセージを信頼できるキューに入れます。
ステートフル サービスは、X 分ごとにキューからメッセージをデキューします。
Service Fabric エクスプローラーを見ると、アプリケーションがここ数日間エラー状態になっています。詳細にドリルダウンすると、ステートフル サービスに次のエラーが表示されます。
エラー イベント: SourceId='System.FM'、Property='State'。パーティションはクォーラムを失っています。
エクスプローラを見ると、プライマリ レプリカが稼働中であることがわかります。これは単一の ActiveSecondary のように見えますが、他の 2 つのレプリカは IdleSecondary を示しており、スタンバイ / ビルド中の状態になり続けています。なぜこれが起こっているのかわかりません。
他のセカンダリが ActiveSecondary 状態にならない / このクォーラム損失を引き起こしている理由は何ですか?
wcf - wcfServiceObject:これはエラーを変換できません
この行wcfServiceObject:this
はエラーになりますcannot convert from ... to ...
。
この問題を解決するにはどうすればよいですか?