予約を処理するためにIISでホストされるWebサービスを作成することを計画しています。方法の1つは
予約IDをクライアントに返すReserveTimeSlot()。クライアントは予約を確認またはキャンセルするために2分があります。応答がない場合は、2分後に予約がキャンセルされます。予約はデータベースに保存されます。
Webサービス呼び出しに2分のタイムアウトを実装する方法がわかりません。役立つ提案が必要です。
予約を処理するためにIISでホストされるWebサービスを作成することを計画しています。方法の1つは
予約IDをクライアントに返すReserveTimeSlot()。クライアントは予約を確認またはキャンセルするために2分があります。応答がない場合は、2分後に予約がキャンセルされます。予約はデータベースに保存されます。
Webサービス呼び出しに2分のタイムアウトを実装する方法がわかりません。役立つ提案が必要です。
これは可能な解決策の1つです。
reservedIDがDBストアの有効期限にも保存されている場合、DataTimeの有効期限= DateTime.Now.AddMinutes(2);
クライアントがreservationIDで戻ってきたら、reservationIDが存在するかどうか、そしてそれがまだ有効かどうかを確認する必要があります(DateTime.Now <expires)
サーバー側では、クライアントに送信しているデータベースにIDを保存でき ます。応答が送信されるとすぐに、新しいスレッドでそのIDに関連付けられているタイマーを開始できます。そのスレッドは一時停止されます。 2分間、戻ってきた後、データベースからステータスを確認し、ユーザーが応答しなかった場合、このスレッドは現在のリクエストをキャンセルします