WCF プロキシ クラスの準備が整うのを待ってから続行するか、サービスの呼び出しを許可する方法を見つけようとしています。
私はこのようなことを試しました:
_proxy = new WCFBlackjack(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/blackjack/IWCFBlackjack"));
while(!_proxy.State.Equals(CommunicationState.Opened)) {
if(!_proxy.State.Equals(CommunicationState.Opening)) {
try {
_proxy.Open();
} catch(EndpointNotFoundException enfe) {
/* ... */
}
}
System.Threading.Thread.Sleep(1);
}
しかし、明らかにそれは機能しません。そうでなければ、私はここにいません。最初はうまくいくように見えますが、ChannelFactory は open ステートメントで InvalidOperationException をスローします。
私はWCFが初めてで、おそらくソケット風の何かに沿って考えすぎているのかもしれませんが、エンドポイントが利用可能になるか見つかるまでクライアントに再試行を続けてもらいたいと思います.接続されたイベントまたはそれらの線に沿った何か。