2

二重 WCF 接続で接続された 2 つのアプリケーションがあります。接続が一貫している限り、私はうまく機能します。

接続が失われ、再接続する必要がある場合に、再接続シナリオを処理する方法を確認しています。そして、WCFでこれがどのように機能するかを理解するのに苦労しています。

私の知る限り、IChannelは消耗品ですが、ChannelFactory高価です。そのため、1 つのファクトリを作成し、次にチャネルを作成します。ClosedチャネルでまたはFaultedイベントを検出するたびにtry、チャネルを閉じ、イベント ハンドラを切り離してから、別のチャネルを作成します。

しかし、このアプローチはうまく機能していませんDuplexChannelFactory<T>.CreateChannel

System.ServiceModel.CommunicationObjectAbortedException occurred
  HResult=-2146233087
  Message=The communication object, System.ServiceModel.InstanceContext, cannot be used for communication because it has been Aborted.   

このように工場自体に障害が発生する可能性はありますか?

WCFで切断/再接続を処理する正しいアプローチは何ですか?

4

2 に答える 2