我可以通过调用Web服务代理的ABORT方法中止来自客户端的Web服务调用。
但是,在托管Web服务的服务器上,调用仅在完成处理时结束。由于服务器在处理时不期望与已调用的Web方法相关的任何其他输入,因此我无法从客户端关闭它。
有什么方法可以中断服务器上的调用,即停止大型计算(并从数据库服务器中提取一些数据)服务器正在进行哪些工作?
答案 0 :(得分:2)
如果您使用ASMX Web服务,肯定无法做到这一点。也许其他人可以谈论是否可以使用WCF。
通常,它会要求您编写服务以期望中断。大多数服务代码都不是那样编写的。
您是否希望经常中止请求?如果没有,那么最好不要在服务器上什么也不做。
答案 1 :(得分:1)
由于您正在谈论一个简单的同步请求 - 响应,我不知道您将如何做到这一点。
方法调用通常需要多长时间?
您想要的行为听起来像是:
这听起来像是将处理建模为工作流,而不是函数调用。
如果您发现切换到这种做事模式有很大好处,那么是的,您有选择权。否则,仅仅吃掉(不经常)浪费的计算成本可能会更简单。