C# 通过Ajax调用MVC异步操作,启动任务,在任务完成之前发送Ajax响应?

C# 通过Ajax调用MVC异步操作,启动任务,在任务完成之前发送Ajax响应?,c#,ajax,asp.net-mvc,nhibernate,castle-windsor,C#,Ajax,Asp.net Mvc,Nhibernate,Castle Windsor,我有以下情况: 我有一个MVC异步控制器,它有一个上载操作,可以处理csv文件并使用nHibernate将数据保存到数据库。这叫做使用 Task<Nacr.Core.Entities.FileLoad.Job>.Factory.StartNew(() => { _fileUploadService.ProcessJob(job); } }); 这是因为会话是在温莎的PerWebRequest生活方式中注册的,但我的

我有以下情况:

我有一个MVC异步控制器,它有一个上载操作,可以处理csv文件并使用nHibernate将数据保存到数据库。这叫做使用

 Task<Nacr.Core.Entities.FileLoad.Job>.Factory.StartNew(() =>
         {
            _fileUploadService.ProcessJob(job);
         }
});
这是因为会话是在温莎的PerWebRequest生活方式中注册的,但我的问题是,在ajax调用得到响应后,会话是否可以使用

我提出这个问题的原因是,对于非常大的文件,ajax请求似乎在大约一分钟后调用processJob,可能是因为它等待了太长时间而没有收到原始请求的响应

我的原始问题可以在这里查看:

我认为这是因为浏览器没有收到来自MVC操作的及时响应,因此会自动重试

看看这个相关问题的答案:

您的问题更多的是温莎城堡的问题,而不是MVC、nhiberbnate甚至ajax的问题。我对castle Windsor了解不多,但听起来您需要配置此特定注入以使用可自行处置的资源。此外,还不清楚您是否真的需要一个异步控制器,因为如果您只是立即返回,就不会真正同步任何请求。
 System.ObjectDisposedException: Session is closed!