SOAP支持取消呼叫吗?

SOAP支持取消呼叫吗?,soap,request-cancelling,Soap,Request Cancelling,使用SOAP协议时,是否可以使用SOAP取消挂起的远程函数调用 我看到三种不同的情况: A) 向需要很长时间才能完成的服务发出请求。例如,当复制包含大量文件的目录时,是否可以取消文件复制循环 B) 发出返回长列表的请求。例如,当查询一个大的内存用户名列表时,是否可以取消此列表响应的传输 C) 取消仍在内部呼叫队列上的呼叫;换句话说,在服务器开始处理之前。在短时间内发出大量异步调用时可能会发生这种情况 从客户端的角度来看,取消同步(请求-响应)SOAP调用与取消任何其他HTTP调用相同-只需断开

使用SOAP协议时,是否可以使用SOAP取消挂起的远程函数调用

我看到三种不同的情况:

  • A) 向需要很长时间才能完成的服务发出请求。例如,当复制包含大量文件的目录时,是否可以取消文件复制循环

  • B) 发出返回长列表的请求。例如,当查询一个大的内存用户名列表时,是否可以取消此列表响应的传输

  • C) 取消仍在内部呼叫队列上的呼叫;换句话说,在服务器开始处理之前。在短时间内发出大量异步调用时可能会发生这种情况


从客户端的角度来看,取消同步(请求-响应)SOAP调用与取消任何其他HTTP调用相同-只需断开连接并停止侦听响应即可。编写良好的服务器将在继续执行冗长的操作(例如,在.NET中,服务器将检查)之前检查客户端是否仍然连接,如果没有连接,则应取消该操作


但是,单向呼叫不能以这种方式取消,因为您已经发送了有效负载并断开了连接。取消单向调用需要显式调用SOAP服务上的某种取消方法,它必须显式支持这种方法。

感谢您的回复。因此,您假设每个呼叫都会建立一个新连接。这对性能的影响不是很严重吗?