1

現在、tibco EMS サーバーに接続するように WCF サービスをセットアップしているという問題があります。シングル インスタンス モードでサービスを実行している場合 (アプリケーションの実行方法により、これを変更することはできません)、1 つしか処理していない場合でも、常に最初に 2 つのメッセージを確認します。これにより、一部のメッセージがスキップされます。

[ServiceBehavior(
    ConcurrencyMode = ConcurrencyMode.Single,
    InstanceContextMode = InstanceContextMode.Single,
    Namespace = "http://tempuri.org/test")]
public class MyService : IMyService

Tibco EMS WCF コードをステップ実行したところ、基になる TIBCO.EMS.Session クラスの private _deliveredList フィールドに 2 つのメッセージがあることがわかります。メッセージは 1 つしか処理していませんが、どちらも ACK が必要であるとマークされています。キューにあるメッセージの数は問題ではないようです。長さが 1 より大きい場合、常に二重確認応答が行われます。

次の構成でスロットリングを適用しましたが、送信された最初のメッセージの数には影響がないようです。

どんな助けでも大歓迎です。

4

1 に答える 1