मेरे पास कुछ नियंत्रक, विचारों और कार्यों आदि के साथ ASP.NET MVC प्रोजेक्ट है।
मैंने सुना है कि मुझे बिना किसी समस्या के अपने नियंत्रक कार्यों को एसिंक्स बनाने में सक्षम होना चाहिए, लेकिन मैं वास्तव में उस मामले में विचारों को वापस करने के लिए संघर्ष कर रहा हूं।
मेरे पास UpdateUser()
नामक यह क्रिया है जो 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();
मेरा आईडीई रिटर्न प्रकार के बारे में गुस्से में है, क्योंकि रिटर्न प्रकार को 'टास्क' होना चाहिए।
तो मैं एसिंक विधियों का उपयोग करके अपना विचार कैसे वापस कर सकता हूं?
1 उत्तर
एमवीसी नियंत्रक की कार्रवाई से दृश्य वापस करने के लिए आपको IActionResult का उपयोग करना चाहिए। आपकी विधि को async कार्य के साथ निम्नलिखित पसंद आना चाहिए:
public async Task<IActionResult> Updateuser()
{
return View();
}
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।
Task<ActionResult>
(याTask<IActionResult>
) होना चाहिए।