如何在控制器方法内执行异步方法并返回HttpStatusCodeResult(200),而不会使异步代理提前终止执行?
我正在开发一个asp.net应用程序,其中一个主页控制器的操作需要很长时间才能运行(10-30秒)。我想返回HttpStatusCodeResult(200)并继续运行我的函数。该函数不需要返回任何内容,但仍然不是“点燃并忘记”情况,因为我立即通过HttpStatusCodeResult向服务器返回响应。
我尝试使用委托,但是一旦从action中返回状态代码,委托就停止执行。另一个选项是创建Windows服务,但这就像使用重型武器解决小问题。我的请求非常少,因此在我的情况下,资源和性能都不是问题。我听说ThreadPool.QueueUserWorkItem是一种选择,但哪种最适合我的情况?
我正在开发一个asp.net应用程序,其中一个主页控制器的操作需要很长时间才能运行(10-30秒)。我想返回HttpStatusCodeResult(200)并继续运行我的函数。该函数不需要返回任何内容,但仍然不是“点燃并忘记”情况,因为我立即通过HttpStatusCodeResult向服务器返回响应。
我尝试使用委托,但是一旦从action中返回状态代码,委托就停止执行。另一个选项是创建Windows服务,但这就像使用重型武器解决小问题。我的请求非常少,因此在我的情况下,资源和性能都不是问题。我听说ThreadPool.QueueUserWorkItem是一种选择,但哪种最适合我的情况?