不知道你服务端的并发模型,我猜可能是Multiple的,这意味着每个客户端代理的请求都可能会在不同的线程上执行,也就是说WCF服务端会先从线程池中拿出一个线程,然后处理请求,再放回去,问题的关键在于默认线程池里面的线程是有限的,高并发的情况下线程池需要补充线程,记得FrameWork默认线程池创建线程的行为是每0.5秒创建一个新线程,这意味着,如果同时需要20个线程,那么花费在创建线程上的时间最多要 20*0.5=10秒.记得线程池是有个API可以设置最小线程数的,ThreadPool.SetMinThreads()应该可以缓解你说的这种延迟效果.
谢谢,现在确实是这样,我修改后可以看到立即的效果·
HTTP 还是 TCP ?
TCP
@anitzlz: 简单贴下你的代码,主要是 servicebehavior 和 operationbehavior。
@Launcher: 谢谢您的关注,问题已经找到了·是服务端线程的问题·
如果涉及到sql数据库查询的,肯定又延期的,我们要做的是尽量要避免延迟时间在1s以内,超出1s就不行
没有任何操作动作,我就是一个测试·从客户端发出到服务端接收为何会有延迟
直接用TCP
只能用WCF来实现的
怎么实现的,请教了!
请问博主怎么解决的?