代码之家  ›  专栏  ›  技术社区  ›  Kamarey

如何限制WCF服务的请求执行时间?

  •  8
  • Kamarey  · 技术社区  · 14 年前

    WCF配置中是否定义了在服务端执行请求的超时?例如,WCF服务将在一段时间后停止执行请求。我有一个服务,使一些工作取决于客户的输入。在某些情况下,这样的电话可能会花费太多时间。我想在服务端限制此类请求的执行时间,而不是使用SendTimeout的客户端请求。我知道OperationTimeout属性,但它不会中止服务请求,它只是告诉客户端请求超时。

    1 回复  |  直到 14 年前
        1
  •  16
  •   tomasr    14 年前

    一般来说,没有什么能完全执行这一点。不幸的是,运行时不能很好地执行这些操作,而不可能使状态混乱(几乎唯一的替代方法是中止正在运行的线程,这会产生一系列不良后果)。

    因此,基本上,如果这是您想要积极执行的内容,那么最好设计服务来处理这一点,这样您的操作执行就有了安全的中断点,如果超过了最大执行时间,操作就可以终止。

    虽然这项工作要做很多,但从长远来看,你可能会对它更满意。