我计划创建一个将托管在 IIS 上的 Web 服务来处理预订。其中一种方法是
ReserveTimeSlot() 将reservationID 返回给客户端。客户有 2 分钟的时间确认预订或取消预订。如果它没有响应,则在 2 分钟后取消预订。预订存储在数据库中。
我不确定如何在 Web 服务调用中实现 2 分钟超时。需要有用的建议。
我计划创建一个将托管在 IIS 上的 Web 服务来处理预订。其中一种方法是
ReserveTimeSlot() 将reservationID 返回给客户端。客户有 2 分钟的时间确认预订或取消预订。如果它没有响应,则在 2 分钟后取消预订。预订存储在数据库中。
我不确定如何在 Web 服务调用中实现 2 分钟超时。需要有用的建议。
这是可能的解决方案之一。
当 reservationID 也存储到数据库存储到期日期时,在您的情况下 DataTime expires = DateTime.Now.AddMinutes(2);
当客户端返回reservationID时,您需要检查reservationID是否存在以及它是否仍然有效(DateTime.Now < expires)
在服务器端,您可以将 ID 保存在 要发送给客户端的数据库中,一旦发送响应,您就可以在新线程中启动与该 ID 关联的计时器......该线程将被挂起2分钟,回来后将检查数据库的状态,如果用户没有响应,则该线程将取消当前请求