使用percall实例化可能的WCF异步双工回调?

Jim*_*_CS 3 c# wcf

我正在使用netTcpBinding,根据我的阅读,percall实例上下文是使用wcf的推荐方法.但这是否意味着我将无法使用异步双工回调?因为在方法调用之间销毁服务对象所以无法在客户端上执行异步回调?它是否正确?

似乎如果我想使用percall进行可扩展性,我将在客户端计算机上遇到错误的响应,因为回调不能是异步的.或者我弄错了?

Jan*_*Jan 5

混合客户端实例和服务器实例.InstanceContextMode.PerCall表示来自客户端的每个调用都会获得一个服务该单个请求的新对象.

您正在谈论的回调通道正在相反地进行通信:它们在您的客户端中调用方法.从服务器的角度来看,您的客户端应该保持活跃并且是单个实例.

因此,在方法调用之后,您需要在服务器端持久保存客户端操作上下文.因为这是您需要使用回调合同向客户端发送消息的引用.

因此,您可以对InstanceContextMode.PerCall使用异步回调,但您必须自己提供一些会话状态存储.