ASP.NET框架将“处理Session范围(全局资源)”的“单线程”请求,以防止一个请求与另一个请求干扰。在WebForms中,我想你可以使用Page指令来指定单个页面不使用Session,因此不需要像这样同步处理。
问题是,在ASP.NET MVC中,所有请求都使用Session,因为它用于实现TempData。您可以完全禁用会话状态,如Lachlan Roche指出的,或者您可以根据具体情况处理。
一个可能的解决方案可能是启动你自己的后台线程来处理任何长时间运行的代码,以便初始请求尽快“完成”。