0

完了したイベントがWCFの長時間実行されている呼び出し(戻るまでに最大1.5分)で発生しないというこの問題があります。IE8では問題なく動作しますが、Firefox、Chrome、Safariでは動作しません。Fiddlerを見ると、結果が明らかに返されます。前述したように、IEでも問題なく機能するため、状況の側面は明らかに機能しています。

サンプルプロジェクトを使用して、かなりうまく絞り込むことができました。これは、ネットワークにブラウザースタックではなくクライアントHTTPスタックを使用しているためと思われます。

誰かがクライアントのhttpスタックで多くの経験をしたことがありますか、または以前にこのタイプの動作に遭遇したことがありますか?

そもそもIEでも同様のことが起こっていましたが、WCFサービスのクライアント側でタイムアウトを増やすことで解決しました。

私は運がなくてもウェブ全体を検索してきたので、どんな考えや提案も大歓迎です:(

乾杯、オラ

4

2 に答える 2

1

これをここで報告することになり、Silverlight 4 のバグとして認識されました。

バグの解決策はありませんが、回避策が見つかりました。バグ レポートに返信した MS 担当者からの引用は次のとおりです。

「ここで試してみると、イベント ハンドラーが呼び出されていることがわかりましたが、e.Error プロパティに値があります。つまり、e.Result にアクセスできません (イベントでエラーが発生したため)。以下に示すように実装を変更すると、それがわかります. ただし、Firefox のクライアント スタックが他のブラウザー (IE) や Firefox のブラウザー スタックと異なる動作をする理由はまだ調査中です.

void client_DoLongTimeCompleted(object sender, DoLongTimeCompletedEventArgs e)
{
DateTime timeStamp = DateTime.Now;
if (e.Result == null)
{
    txtOutPut.Text += string.Format("\n{0} {1}", e.Result, timeStamp);
}
else
{
    txtOutPut.Text += string.Format("\n[{0}] Error: {1}", timeStamp, e.Error);
}
}"
于 2011-04-28T12:58:44.927 に答える