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

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

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

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

求教,这应该怎么实现呢,谢谢了
...全文
222 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-03-16
  • 打赏
  • 举报
回复
IIS不是可以控制最大并发数了么?而且一般来说,客户端浏览器都有timeout,换一句话说,超过并发限制的请求,直接丢弃,而不是让它等待更好。
Red_angelX 2013-03-15
  • 打赏
  • 举报
回复
这东西因该在服务器程序里控制,像asp.net这种上层应用没多大意义
showjim 2013-03-15
  • 打赏
  • 举报
回复
试试fastCSharp
        static fastCSharp.threading.task task = new fastCSharp.threading.task(50);
task.Add(...);
代码小天王 2013-03-15
  • 打赏
  • 举报
回复
引用 4 楼 Mackz 的回复:
这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。
比如说我想摸你这么个场景,100Socket客户端连接到服务端,我最多只处理50个Socket请求,剩下的排队,有处理完了的,则弹出队列顶部的那个,继续处理
代码小天王 2013-03-15
  • 打赏
  • 举报
回复
引用 4 楼 Mackz 的回复:
这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。
我知道这不是我应该操心的,但是我就是想实现类似的功能可以么,球指教。
mjp1234airen4385 2013-03-15
  • 打赏
  • 举报
回复
4楼 +1 找找iis,链接并发的资料。
菜牛 2013-03-15
  • 打赏
  • 举报
回复
这完全不是你的Asp.net考虑的事,这是IIS考虑的,设置最大并发数就是了,它自己有队列。
天下如山 2013-03-15
  • 打赏
  • 举报
回复
代码小天王 2013-03-15
  • 打赏
  • 举报
回复
来人啊啊啊啊
代码小天王 2013-03-15
  • 打赏
  • 举报
回复
我这还沉了?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧