मैं चल रहा हूँ एक लंबे समय से चल समारोह के रूप में पृष्ठभूमि कार्य में asp.net आवेदन । से पहले काम पूरा होने का मुख्य धागा बाहर निकलता है (मैं यह चाहते हैं कि जिस तरह से केवल के बाद से, अगर मैं का उपयोग करें कीवर्ड का इंतजार और मुख्य सूत्र तक इंतजार पृष्ठभूमि कार्य के पूरा होने पर, मैं प्रॉक्सी त्रुटि संदेश के साथ
प्रॉक्सी त्रुटि
प्रॉक्सी सर्वर कोई अमान्य प्रतिसाद प्राप्त हुआ से एक upstream सर्वर के बाद से पृष्ठभूमि कार्य बहुत लंबा है
लेकिन एक बार के बाद कार्य पूरा न तो मैं कर रहा हूँ करने के लिए पृष्ठ ताज़ा करने के लिए पुनः निर्देशित करके एक ही पृष्ठ या न तो मैं कर रहा हूँ ओवरराइड करने के लिए यूआई । वहाँ किसी भी तरह से अद्यतन यूआई के बाद मुख्य सूत्र पूरा करता है निष्पादन ।
मेरे कोड में इस तरह चला जाता है:
protected void btnImport_Click(object sender, EventArgs e)
{
var task = ImportThread();
if (task.IsCompleted)
{
DisplaySuccess("Import success");
}
else
DisplayError("Import failed");
}
private async Task<bool> ImportThread()
{
try
{
var success = await Task<bool>.Run(() => new Manager().Import().ConfigureAwait(false);
if (task.IsCompleted)
{
DisplaySuccess("Import success");
}
else
{
DisplayError("Import failed");
}
return true;
}
ऊपर async कार्य इंतजार कर रहा है नीचे विधि है जो वर्तमान में एक और वर्ग है ।
public bool Import()
{
// some operations here
return true;
}
के बाद इस विधि का पूर्ण नियंत्रण वापस करने के लिए पीठ ImportThread()
लेकिन कोड वहाँ लिखा ओवरराइड करने के लिए यूआई अद्यतन नहीं यूआई । मैं की जरूरत है अद्यतन करने के लिए यूआई की स्थिति के साथ आयात. और यह भी से ImportThread
नियंत्रण है नहीं जा रहा करने के लिए वापस बटन पर क्लिक करें घटना की विधि भी है ।
कृपया मेरी मदद के साथ किसी भी तरह से अद्यतन करने के लिए यूआई की स्थिति का आयात.
नोट: मैं उपयोग करने की कोशिश की Redirect.Response
में ImportThread()
पेज ताज़ा करने के लिए, लेकिन काम नहीं किया है कि