昔作ったアプリで下記のエラーが発生しました。
あれれ?と思い、過去のパソコン(WindowsXPx86 Pentium M)を引っ張りだし、テストすると動作する。
どうやら、Windows7x64(Core i7)では発生するエラーのようだ。
日本語:非同期呼び出しは既に進行中です。このメソッドを呼び出す前に、処理を完了させるか、またはキャンセルしなければなりません。
English translation: An asynchronous call is already in progress. It must be completed or canceled before you can call this method.
しくしく、仕方なしに処理の内容をlockステートメントを使用して直列化して対応した。
例)
lock(_smtp)
smtp.Send(...);
lock(_ping)
dic.Value.PingReply = _timeOut != 0 ? _ping.Send(dic.Key, _timeOut) : _ping.Send(dic.Key);
0 件のコメント:
コメントを投稿