C# WebService并发问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:49:27
本人目前在做一个有关WebSerivce的项目,用VS 2005下的C#开发。我们做的是一个平台,
这个平台提供接口供其它人调用,接受他们的请求,然后再把他们的请求转发给其它平台(也是调用其它平台的接口).
我们应用的技术是VS2005封装好的WebSerivce异步调用技术,现在遇到的问题是,当同时有比较多的请求要接收和处理时
(比如一秒内有超过两百的请求过来时),我们的平台就会丢失一些请求,之前我们是发布在XP上的IIS5.1,然后改为
windows server 2003上的IIS6.0,发现得到了不小的改善,但还是会丢失一些请求。
我想问问大家有没有什么比较好的建议,来解决这种问题,是不是IIS或者微软这套机制的瓶颈所在?是不是只能靠升级
软件(比如用2008上的IIS7.0)和硬件(更好的配置)来解决?
请大家帮帮忙!
谢谢1楼的回答。不过如果用同步的话要一条处理完才能处理下一条。这样会很慢的

为什么要用异步呢?异步非阻塞线程启动后交由操作系统处理, 而程序去接受另一个请求.操作系统有自己的优先级调度,至于什么时候处理那个线程就不知道了,当然会"丢失", 其实也不是丢失,而是优先级过低, web服务器还没等到处理好, 就超时了.
你可以使用同步的方法调用看看能不能解决问题.