当前位置:编程学习 > C#/ASP.NET >>

一直想实现这么个东西,有思路但不知怎么实现。

我想实现的是控制我asp.net服务端最大并发处理请求数,
目前的思路是这样的,
我的服务端只能同时处理50个并发请求,
如果此时这50个请求正在进行处理,而第51个请求进来了,就建立在队列中进行排队,当前50个请求中的某个请求处理完毕,则这51个请求被处理。。。。

之前在网上看到过一个用.net 互斥锁实现的,只是代码不对,问题是一个全局的Mutuex还未释放又调用它的锁定方法,就会出现此错误。。

我后来想的是通过.net 同步锁来实现,但是这样的话,每个请求都是同步被传入服务端处理,虽然这个等待时间几乎可以忽略不计。

求教,这应该怎么实现呢,谢谢了 asp.net .net 队列 --------------------编程问答-------------------- 我这还沉了? --------------------编程问答--------------------
来人啊啊啊啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。 --------------------编程问答-------------------- 4楼 +1
找找iis,链接并发的资料。 --------------------编程问答--------------------
引用 4 楼 Mackz 的回复:
这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。


我知道这不是我应该操心的,但是我就是想实现类似的功能可以么,球指教。 --------------------编程问答--------------------
引用 4 楼 Mackz 的回复:
这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。


比如说我想摸你这么个场景,100Socket客户端连接到服务端,我最多只处理50个Socket请求,剩下的排队,有处理完了的,则弹出队列顶部的那个,继续处理 --------------------编程问答-------------------- 试试fastCSharp
        static fastCSharp.threading.task task = new fastCSharp.threading.task(50);

task.Add(...);
--------------------编程问答-------------------- 这东西因该在服务器程序里控制,像asp.net这种上层应用没多大意义 --------------------编程问答-------------------- IIS不是可以控制最大并发数了么?而且一般来说,客户端浏览器都有timeout,换一句话说,超过并发限制的请求,直接丢弃,而不是让它等待更好。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,