में असिंक क्रियाएं मेरे पास एक सिंक्रोनस कॉल है जिसे मुझे async में परिवर्तित करने की आवश्यकता है, मैं async/await कुंजी शब्दों का उपयोग कर रहा हूं, लेकिन जब यह कार्य पूरा हो जाता है तो यह केवल लौटाता है जो मुझे करने की ज़रूरत है यूआई को एक करके एक।एएसपी.नेट एमवीसी 4
परिदृश्य यह है कि मेरे पास प्रमाणीकृत होने के बाद उपयोगकर्ता को एक कार्य सूची प्रदर्शित की गई है, हालांकि मैं डीबी से पुनर्प्राप्त होने के बाद एक बार लोड होने के लिए कार्य करना चाहता हूं, यहां मेरी क्रिया है जो एक साथ रखती है खोज मापदंड पूर्व फिल्टर करने के लिए कार्य:
public async Task<ActionResult> Index(string searchTerm = null, int page = 1)
{
Shared.InitialiseCriteria(SearchCriteria);
SearchCriteria.DepartmentID = DepartmentID;
SearchCriteria.PageSize = 15;
SearchCriteria.FreeText = searchTerm;
var model = await DoStuff(SearchCriteria);
if (Request.IsAjaxRequest())
{
return PartialView("_ConversationList", model);
}
return View(model);
}
और यहाँ इंतजार कार्य इस कॉल GetConversation जो अनिवार्य रूप से कार्य हो जाता है जब पहला काम पाया जाता है मैं इसे सूचकांक को देखने के लिए लोड करने की आवश्यकता है:
private async Task<Result> DoStuff(CSearchCriteria SearchCriteria)
{
return GetConversations(SearchCriteria);
}
आप आगे की व्याख्या कर सकते वास्तव में क्या आप होने की अपेक्षा है, और क्या वास्तव में क्या होता है? – sinelaw
मैं डीबी में प्राप्त कार्यों को एक-एक करके आंशिक दृश्य में लोड करना चाहता हूं ताकि उपयोगकर्ता लोडिंग स्क्रीन पर अभिनीत न हो, इस समय केवल चार सेकंड लोड होने के लिए लगभग 10 सेकंड लगते हैं। यदि आवश्यक हो तो मैं अधिक जानकारी प्रदान कर सकता हूं ... – user2711252