Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从MVC运行短期后台任务_C#_Asp.net Mvc_Multithreading - Fatal编程技术网

C# 从MVC运行短期后台任务

C# 从MVC运行短期后台任务,c#,asp.net-mvc,multithreading,C#,Asp.net Mvc,Multithreading,我正在编写一个ASP.NET MVC 3应用程序。当用户登录时,我需要检查远程系统并从系统中获取该用户的最新数据。此任务大约需要15秒 用户应该能够在登录后直接进入我的应用程序(不必等待15秒的远程呼叫!)。远程呼叫完成后,将更新用户的本地信息 我正在考虑使用一个线程来完成这项工作,在他们登录后创建它,并让它按自己的方式运行。然而,在阅读了相关文章后,我担心在MVC中处理线程时会出现循环利用等问题。我会使用异步控制器,但我不需要向用户反馈后台进程的状态。我关心线程,即使它们是短期的,对吗?“…关

我正在编写一个ASP.NET MVC 3应用程序。当用户登录时,我需要检查远程系统并从系统中获取该用户的最新数据。此任务大约需要15秒

用户应该能够在登录后直接进入我的应用程序(不必等待15秒的远程呼叫!)。远程呼叫完成后,将更新用户的本地信息

我正在考虑使用一个线程来完成这项工作,在他们登录后创建它,并让它按自己的方式运行。然而,在阅读了相关文章后,我担心在MVC中处理线程时会出现循环利用等问题。我会使用异步控制器,但我不需要向用户反馈后台进程的状态。我关心线程,即使它们是短期的,对吗?

“…关心回收…”

“…不需要向用户反馈状态…”

“…短暂的…”

您应该使用的3个原因。

不要在web应用程序中使用“线程”。让服务器通过使用“异步”调用来处理这个问题。
否则,您将不得不设置一个线程池并取消缓慢的请求。

我觉得等待/async并不是真正用于实现后台任务的。(与实现涉及长时间运行操作而不阻塞的顺序流相反)它从另一台服务器获取数据。AsyncController将设置请求,然后释放线程,直到有响应。请看一看a,这正是我需要的。我希望有信心将命令抛出线程,然后继续返回页面。