![](/img/trans.png)
[英]ASP.NET Core MVC equivalent of Start Action Specific Page
[英]ASP.NET Core MVC start new thread from an action
我是 ASP.NET Core 的新手,所以也許我做錯了什么,這是我的問題:
我需要什么:加載起始頁后,開始在后台從 Azure 存儲加載應用程序特定數據並在前端顯示它的狀態
我做了什么來實現這一目標:
public ViewResult Index()
{
var homeModel = new HomeModel();
Task.Run(() =>
{
// Some specific work to do...
System.Threading.Thread.Sleep(4000);
});
return View(homeModel);
}
當我運行此代碼時,前端視圖直到 Task 未完成才會顯示,即使它是不同的托管線程(我也嘗試對new Thread.Start(() => ...); 執行相同的操作)。
我的問題是:這種行為的原因是什么? 正如我所說,我是 ASP.NET Core 的新手,我沒有使用過以前版本的 ASP.NET。
我有一些想法如何解決這種行為,但我想知道正確的方法並了解原因:)
PS我正在使用 SignalR 從后端更新視圖。
您處理應用程序啟動作業的方法是錯誤的。 看看IApplicationLifetime接口。 這是一個關於它的問題
ThreadStart starter = delegate { SomeVoid(somevar); };
Thread tr = new Thread(starter);
tr.IsBackground = true;
tr.Start();
tr.Join();
如果需要更多線程使用線程和循環列表,對不起,如果我不幫你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.