1

Linq to SQL モデルを使用した WPF アプリケーションがあります。.dbml ファイルには、アドレスの座標を返すストアド プロシージャがあります。この手順では、アクティブなインターネット接続を使用して Google マップの「サービス」を呼び出し、座標を取得します。

問題は、インターネット接続が遅い、またはビジー状態の場合、手順が座標を返すのに時間がかかり、C# で TimeOut 例外が発生することです。

手順が戻るのにx秒以上かかる場合、座標は必須の情報ではないため、スキップしてプロセスを続行する方法があるかどうか疑問に思っていました。

ありがとう!

4

1 に答える 1

0

これを行う唯一の方法は、SP を非同期で実行し、タイマーを使用して、X 秒が経過したときに非同期プロセスをキャンセルすることです。

これを達成するには、簡単な方法でTask.

次に、 を作成CancellationTokenしてタスクの start メソッドに渡します。タイマーがタイムアウトしたら (SP ではなく自分のタイマー)、タスクをキャンセルします。これを行う方法の簡単な方法については、この質問の回答をお読みください。

于 2012-06-27T20:08:52.653 に答える