0

我计划创建一个将托管在 IIS 上的 Web 服务来处理预订。其中一种方法是

ReserveTimeSlot() 将reservationID 返回给客户端。客户有 2 分钟的时间确认预订或取消预订。如果它没有响应,则在 2 分钟后取消预订。预订存储在数据库中。

我不确定如何在 Web 服务调用中实现 2 分钟超时。需要有用的建议。

4

3 回答 3

2

这是可能的解决方案之一。

  1. 当 reservationID 也存储到数据库存储到期日期时,在您的情况下 DataTime expires = 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 回答