我有一個 ASP.NET MVC 專案,其中包含一些控制器、視圖和操作等。
我聽說我應該能夠使我的控制器操作異步而不會出現任何問題,但我真的很擔心在這種情況下如何回傳視圖。
我有一個名為UpdateUser()which 是 async 的操作,并且有一些我想要await關鍵字的功能(還有更多功能需要添加)。完成這些操作后,我需要回傳一個視圖,就像在大多數控制器操作中一樣:
public async Task Updateuser()
{
ApplicationUser usr = await _userManager.FindByNameAsync(User.Identity.Name);
string name = usr.UserName;
string email = usr.Email;
string UserEmail = name email;
string hash = "";
using (var sha = new System.Security.Cryptography.SHA256Managed())
{
// Convert the string to a byte array first, to be processed
byte[] textBytes = System.Text.Encoding.UTF8.GetBytes(UserEmail);
byte[] hashBytes = sha.ComputeHash(textBytes);
// Convert back to a string, removing the '-' that BitConverter adds
hash = BitConverter
.ToString(hashBytes)
.Replace("-", String.Empty).ToLower();
}
return View();
}
所以在它說return View();我的 IDE 對回傳型別很生氣的那一行,因為回傳型別需要是一個“任務”。
那么如何使用異步方法回傳我的視圖呢?
uj5u.com熱心網友回復:
您應該使用 IActionResult 從 MVC 控制器的操作回傳視圖。您的方法應該與異步任務類似:
public async Task<IActionResult> Updateuser()
{
return View();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/353658.html
標籤:C# asp.net-mvc
