3

この問題がランダムに発生し、WCFServiceClientを使用して追加/削除/更新できます。その後、エラーが発生し、ランダムに発生します...

以下は私が使用しているクライアントコードです...

using(WCFServiceClient client = new WCFServiceClient ()) 
{ 
     //More codes here 
     Employee emp = new Employee()
     emp = client.GetEmployeeDataById(123); //<<<ERROR    
}

タイムアウトを2分に増やしましたが、それでも同じです。

<binding name="WSHttpBinding_IEmployeeService" maxReceivedMessageSize="200000" sendTimeout="00:02:00" >

//エラー:

00:00:59.9990000以降の応答を待っている間に、要求チャネルがタイムアウトしました。Requestの呼び出しに渡されるタイムアウト値を増やすか、BindingのSendTimeout値を増やします。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。

何か助けはありますか?私は多くの投稿を見てきましたが、修正やガイダンスはありません。

4

3 に答える 3

1

このリンクを読んだ後、私の問題を解決することができます。

Usingステートメントの問題の回避 http://msdn.microsoft.com/en-us/library/aa355056.aspx

C#の "using"ステートメントは、Dispose()の呼び出しになります。これは、ネットワークエラーが発生したときに例外をスローする可能性があるClose()と同じです。Dispose()の呼び出しは、「using」ブロックの閉じ中括弧で暗黙的に発生するため、この例外のソースは、コードを記述している人とコードを読んでいる人の両方に気付かれることはありません。これは、アプリケーションエラーの潜在的な原因を表しています。

于 2012-04-25T15:33:26.147 に答える
0

明示的なバインディングの選択を試して、デフォルトの(簡略化された構成)バインディングを選択する可能性のあるケースを排除できます

new WCFServiceClient ("WSHttpBinding_IEmployeeService")
于 2012-04-23T23:40:19.493 に答える
0

そこに到達するデータの大きさはわかりませんが、receiveTimeoutはどうですか?

于 2012-04-25T15:42:41.020 に答える