これで、すべてのサブスクリプションを格納するためのディクショナリを持つイベントプロセッサクラスができました。実際、それは辞書の辞書です。また、このプロセスクラスは、サードパーティのリモートサーバーと通信して、ターゲットデータを要求します。サブスクリプションが失われることがあるという問題が発生しているため、この質問をしています。何らかの理由で、この損失がリモートサーバーへの接続で発生するかどうかを確認するのは難しいため、最初に、イベントプロセッサクラスに問題があるかどうかを確認する必要があります。そして、私の最初の疑いは、このディクショナリオブジェクトのオーバーフローが原因でサブスクリプション情報が失われた場合です。誰かが何か考えを持っていますか?ありがとう!
アップデート
コードを表示するのは簡単ではないので、シナリオについてもう少し説明する必要があります。以前は、レガシーSWをAと呼び、Bのベンダーが提供するAPIを使用してBと呼ばれるリモートデータサービスと通信していました。ただし、Aを64ビットSWに変更していますが、B用に提供されているライブラリはまだ32ビットであるため、新しい64ビットAはこのライブラリを使用できなくなります。そこで、WCFを使用して64ビットAとの通信を維持しながら、ライブラリを使用してBに接続するCと呼ばれる32ビットSWを設計しています。前に述べたように、Cは主にpub / sub構造であるため、Dictionary of Dictionaryを使用して、Cでのリクエストとサブスクリプションを維持しています。ただし、サブスクリプションを再初期化した後、Aでパブリケーションを取得できます)。Bのフィードバックをチェックして、構成に誤りがないかどうかを確認するのは簡単ではありません。また、私のWCFサービスログにもエラーは表示されません。私は問題がCだけで起こるのではないかと疑わなければなりません。私はマルチスレッドの問題を認識しているので、辞書のすべての操作をロックしました。しかし、私は何が間違っているのか考えられません。ところで、Cとは異なり、メモリが使い果たされてCがクラッシュしました。