Mic*_*cah 5 database asp.net asynchronous
我有一个开发人员最近告诉我,你应该总是异步进行数据库调用.(使用ThreadPool.QueueUserWorkItem或IAsyncResult和委托)
他的理由是:IIS只有24个(左右)线程可以用于请求.当用户发出请求时,他们会获得其中一个线程.但是,使用异步方法时,可以访问IIS范围之外的Windows线程.他说,当你以这种方式使用异步方法时,你将初始线程释放给其他用户的请求,并将其转移到Windows线程(用于该线程的生命周期).
你怎么看?所有db调用都应该是异步的吗?
工作线程的数量是有限的。这些与 ASP.NET 有关,而不是 IIS(除了在 IIS7 中,它们是同一件事)。确实,数据库调用或任何其他调用都会占用这些线程之一。在 ADO.NET 调用的情况下,可以将页面编写为异步页面,其中在数据库操作正在进行时不使用任何线程。
除非您确实遇到了问题,否则您不应该为此烦恼。
| 归档时间: |
|
| 查看次数: |
1177 次 |
| 最近记录: |