0

Silverlight 5 でアプリケーションを開発しています。すべてのネットワーク通信に WCF を使用していますが、ほとんど問題なく動作しています。ただし、アプリが失敗したり、アプリ自体を再起動しようとしたり、失敗したり、無限ループで失敗したりする場所をテストするために使用する仮想マシンがいくつかあります。多くのトレース コードと多くの try キャッチを追加し、失敗しているコード行まで分離しましたが、失敗から実際のエラー メッセージを取得することはまだできません。クラッシュ。もともと、WCF コードの次の行で失敗していました。

return await Task<List<Instance>.Factory.FromAsync(Channel.BeginGetInstance, Channel.EndGetInstance, null);

async/await の使用と関係がある場合は、コールバックを使用して古いコードに戻りました。それでも同じエラーが発生しますが、WCF 関数の呼び出しが正常に完了したことを確認できますが、コールバックの最初の行のログ ステートメントは発生しないため、コールバックの前または外側で死んでいるように見えます。

もう 1 つ注意してください。Application_UnhandledException のコードは実行されていないようですが、Application_Exit のコードは実行されています。これはログ ファイルの最後の行に示されています。

リモート デバッグをセットアップしようとしましたが、クラッシュしてリサイクルする前にアプリに接続できないため、どちらも役に立ちませんでした。

また、TCPView を使用してネットワーク トラフィックを監視しましたが、双方向で通信が行われているようです。

他に試してみるべきことについて何か提案があれば、私は大いに感謝します.

4

1 に答える 1

0

私は最終的に自分の問題に気付く前に、これに尻尾を追いかけて10日間過ごしました. エラー ログ コードにバグがありました。エラーが発生していましたが、表示されていませんでした。そのことに気付き、エラー メッセージが表示されてから、実際の根本的なバグは約 5 分で修正されました。ただし、どんなに単純であっても、基になるコードが機能していると思い込んではいけません。

于 2013-04-11T20:45:21.740 に答える