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

ASP.NET异步方法问题

发布时间:2020-12-15 19:54:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个开发人员最近告诉我,你应该总是异步进行数据库调用. (使用ThreadPool.QueueUserWorkItem或IAsyncResult和委托) 他的理由是:IIS只有24个(左右)线程可以用于请求.当用户发出请求时,他们会获得其中一个线程.但是,使用异步方法时,可以访问IIS范围之外的
我有一个开发人员最近告诉我,你应该总是异步进行数据库调用. (使用ThreadPool.QueueUserWorkItem或IAsyncResult和委托)

他的理由是:IIS只有24个(左右)线程可以用于请求.当用户发出请求时,他们会获得其中一个线程.但是,使用异步方法时,可以访问IIS范围之外的Windows线程.他说,当你以这种方式使用异步方法时,你将初始线程释放给其他用户的请求,并将其转移到Windows线程(用于该线程的生命周期).

你怎么看?所有db调用都应该是异步的吗?

解决方法

工作线程数量有限.这些与ASP.NET有关,而不是IIS(IIS7除外,它们是相同的东西).确实,数据库调用或任何其他调用都会占用其中一个线程.对于ADO.NET调用,可以将页面编写为异步页面,在数据库操作正在进行时不使用任何线程.

除非你确实遇到问题,否则你不应该为此烦恼.

(编辑:李大同)

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

    推荐文章
      热点阅读