0

予約を処理するためにIISでホストされるWebサービスを作成することを計画しています。方法の1つは

予約IDをクライアントに返すReserveTimeSlot()。クライアントは予約を確認またはキャンセルするために2分があります。応答がない場合は、2分後に予約がキャンセルされます。予約はデータベースに保存されます。

Webサービス呼び出しに2分のタイムアウトを実装する方法がわかりません。役立つ提案が必要です。

4

3 に答える 3

2

これは可能な解決策の1つです。

  1. reservedIDがDBストアの有効期限にも保存されている場合、DataTimeの有効期限= DateTime.Now.AddMinutes(2);

  2. クライアントがreservationIDで戻ってきたら、reservationIDが存在するかどうか、そしてそれがまだ有効かどうかを確認する必要があります(DateTime.Now <expires)

于 2012-12-01T09:52:51.303 に答える
0

私はこのリンクで私の場合の許容できる解決策を見つけました

WCFサービスアプリケーションタイマー

最初のテストは有望です。私の質問に時間を割いてくれてありがとう。

于 2012-12-04T15:23:56.970 に答える
0

サーバー側では、クライアントに送信しているデータベースにIDを保存でき ます。応答が送信されるとすぐに、新しいスレッドでそのIDに関連付けられているタイマーを開始できます。そのスレッドは一時停止されます。 2分間、戻ってきた後、データベースからステータスを確認し、ユーザーが応答しなかった場合、このスレッドは現在のリクエストをキャンセルします

于 2012-12-01T09:53:40.533 に答える