我需要创建一个WCF服务来接受客户端请求并在内部连接到远程机器来完成这项工作。远程机器具有非常好的处理能力,但处理速度不佳。这意味着每秒可处理1000个事务,但每个事务可能需要1秒钟,所以唯一的方法是在同一秒内运行1.000个并发事务。WCF异步服务器端处理
远程机器处理这种情况非常好,但我担心WCF,如果每个事务是内部的(我不关心客户端模型(同步或异步))等待并阻塞服务器内的线程为1或2秒这可能代表一个1.000工作线程生活,这可能是非常危险的,或者也许WCF使用线程池,并把其他请求处于等待状态,这也是不好的。
所以,我的问题是关于在服务器端异步处理请求的可能性。因此,交易流程必须是这样的:
- Cliente初始化请求(在他的身边是一个同步请求)
- 服务器recive请求,并把交易中的队列此请求,并释放螺纹
- 当任务完成时,服务器完成向客户端发送HTTP 200和结果的请求。
谢谢!
如果您在IIS中提供wcf服务,则不需要执行上述任何操作。 IIS将为每个请求推出一个单独的线程,实例化一个新的wcf实例,处理请求并返回结果。如果现有的线程可用,IIS将使用它而不是假脱机一个新的线程。 – edepperson
这不能解决我的线程“饱和”的问题,我需要一个非线程重用的异步处理 –