加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用MVC Futures的异步控制器在.NET 3.5 SP1中的

发布时间:2020-12-16 09:35:28 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试将长轮询(“反向ajax”,“http推送”)功能改编为在.NET 3.5 SP1上运行的现有ASP.NET MVC 1 Web应用程序.由于这个应用程序有数千个并发用户,并且所有用户都将使用长轮询功能,我担心我会遇到难以预见和测试的服务器和连接限制. 阅读了Thomas Marquar
我正在尝试将长轮询(“反向ajax”,“http推送”)功能改编为在.NET 3.5 SP1上运行的现有ASP.NET MVC 1 Web应用程序.由于这个应用程序有数千个并发用户,并且所有用户都将使用长轮询功能,我担心我会遇到难以预见和测试的服务器和连接限制.

阅读了Thomas Marquardt’s article on ASP.NET Thread Usage on IIS 7.0 and 6.0,这是在很多关于长轮询和其他地方的问题中引用的,似乎是运行ASP.NET MVC 1应用程序(在.NET 3.5 SP1中)的Windows Server 2008 R2(带有IIS 7.5)的默认设置使用MVC Futures的异步控制器实现长轮询功能将无法为数千名用户提供服务.

根据Marquardt的说法,第一个罪魁祸首似乎是maxConcurrentRequestsPerCPU,在.NET 3.5 SP1中它被设置为12.这意味着成千上万的并发长轮询需要数百个CPU,对吗?由于是否使用异步控制器,长轮询仍然是HTTP请求.我需要增加这个.我的理解在这里是否正确?

由于我使用异步控制器,我假设我不需要改变每个CPU的并发工作线程数,因为等待长轮询触发的线程将被解除.我的理解在这里是否正确?或者这取决于长轮询动作方法中“等待”的确切程度如何? (我打算使用活动.)

除此之外,我还会遇到其他限制吗?我不想在machine.config或aspnet.config(甚至web.config)中随机增加值,如果可能的话,我想保留processModel的autoConfig.

(我已经阅读了这里的所有问题,但没有具体深入研究这方面的细节,大概是因为它随着CPU数量,CLR版本等而变化)

提前致谢!

解决方法

我认为你误解了异步控制器的观点.异步控制器用于长时间运行的Web调用(注意:不长时间轮询调用).这意味着如果某个操作需要一些时间来处理/返回,它将被异步处理,立即将控制权返回给客户端.

如果要实现长轮询,请使用SignalR

http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读