WCF的InstanceContextMode

WCF的InstanceContextMode,wcf,instancecontextmode,Wcf,Instancecontextmode,我有一个由WCF创建的Web服务,它可以响应客户端的请求,例如添加或更新数据 让我们调用服务上下文的主要部分,因为某些方法(假定的方法A)将花费很长时间来处理,但我不希望该方法占用服务器,我将InstanceContextMode枚举设置为PerCall,我希望每次调用A时,它都会创建一个新实例来服务请求,然后我的服务器可以像往常一样继续为其他服务器提供服务 但我的问题是,它每次仍然使用主线程(UI线程)来服务,所以当我调用A时,服务器将停止响应很长一段时间,直到A完成 我错过什么了吗?我是WC

我有一个由WCF创建的Web服务,它可以响应客户端的请求,例如添加或更新数据

让我们调用服务上下文的主要部分,因为某些方法(假定的方法A)将花费很长时间来处理,但我不希望该方法占用服务器,我将InstanceContextMode枚举设置为PerCall,我希望每次调用A时,它都会创建一个新实例来服务请求,然后我的服务器可以像往常一样继续为其他服务器提供服务

但我的问题是,它每次仍然使用主线程(UI线程)来服务,所以当我调用A时,服务器将停止响应很长一段时间,直到A完成


我错过什么了吗?我是WCF的新手,如果我有任何错误,请告诉我。

如果您有一个长时间运行的流程,那么web服务可能不是正确的方法。服务的
InstanceContextMode
(或服务的任何其他设置)与客户端完全没有连接。如果必须对长时间运行的进程使用WCF,则a)使调用异步,这样就不会冻结您的UI;b)使服务方法成为单向调用,这样客户端就不会等待长时间运行的进程完成。@Tim我不得不道歉,我可能问错了方向。。。为了实现我的目标,我应该改变并发模式而不是InstanceContextMode。仍然感谢你的建议,那给了我有用的参考。