ASP.NET Multithreading Web Requests

后端 未结 3 1406
南旧
南旧 2020-12-29 13:55

I\'m building a page in my ASP.NET solution that retrieves most of its data from a 3rd Party API Service.

The page itself will need to make approximately 5 individu

3条回答
  •  孤城傲影
    2020-12-29 14:30

    Multi-threading is the right choice, but I would call it doing stuff asynchronously.

    Anyway, you should know that multi-threading works different in IIS.

    IIS worker process will finish a request once all child threads end, and this is a big problem, because you don't want to hold a worker process for a long time but re-use it for other requests. Actually it's a thread pool.

    This is why ASP.NET offers its own approach to implement asynchronity and if you use the right approach, IIS will be able to process more requests at once because asynchronous work will be executed outside IIS process model.

    I would suggest you to read more about ASP.NET async:

    • http://www.hanselman.com/blog/TheMagicOfUsingAsynchronousMethodsInASPNET45PlusAnImportantGotcha.aspx

    • http://blogs.msdn.com/b/tmarq/archive/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications.aspx

    Conclusion: use asynchronous work and this will make a more efficient use of server resources, but first learn more about how to do it in the right way!

提交回复
热议问题