日期:2014-05-17  浏览次数:20956 次

wcf服务 响应客户端
服务器上有一个wcf程序,客户端发送文件给wcf服务  wcf接收到后再把文件存起来,    如果有很多客户端同时发给wcf程序    wcf能够及时的响应所有的客户端嘛

------解决方案--------------------
引用:
如果你使用的是单调和会话模式(默认为会话模式),理论上只要你的服务器资源足够,没有超过并发(默认并发量似乎是100)量,wcf是能够及时响应所有的客户端的。
如果你使用的是单例模式,那么所有的请求都会共享使用同一个通道,那么除非你使用server端使用多线程,那么需要排除处理请求了。

sorry,错别字太多了…
如果你使用的是单调和会话模式(默认为会话模式),理论上只要你的服务器资源足够,没有超过并发(默认并发量似乎是100)量,wcf是能够及时响应所有的客户端的。
如果你使用的是单例模式,那么所有的请求都会共享使用同一个通道,那么除非你server端使用多线程,那么需要排队处理请求了。
------解决方案--------------------
引用:
多个wcf实例间抢资源的时候 加lock 有效吗

有效,但最好别用,会影响速度的,而且你这里几乎不存在抢资源的可能性。限制文件大小,加快每次响应处理速度才是最好的做法。如果真遇到瓶颈,只能放弃WCF,因为那个要继续优化很难,最大的让步就是流模式下,输入输出都使用Stream类型处理,但那样对于发送时还是可能有个MemoryStream缓冲。