मेरे एप्लिकेशन के उपयोगकर्ता HTML टेक्स्ट को टेक्स्टबॉक्स नियंत्रण में टाइप करते हैं।मैं पृष्ठभूमि कार्यकर्ता प्रक्रिया को सही तरीके से रद्द और पुनरारंभ कैसे करूं?
मैं चाहता हूं कि मेरा एप्लिकेशन पृष्ठभूमि में उनके इनपुट को मान्य करे।
क्योंकि मैं सत्यापन सेवा को हथियार नहीं देना चाहता, मैंने प्रत्येक सत्यापन से पहले एक-दूसरे देरी में निर्माण करने की कोशिश की है।
हालांकि, मैं पहले से चल रहे पृष्ठभूमिवर्कर प्रक्रिया को सही ढंग से बाधित करने में सक्षम नहीं प्रतीत होता।
मेरे Visual Basic कोड:
Sub W3CValidate(ByVal WholeDocumentText As String) 'stop any already-running validation If ValidationWorker.IsBusy Then ValidationWorker.CancelAsync() 'wait for it to become ready While ValidationWorker.IsBusy 'pause for one-hundredth of a second System.Threading.Thread.Sleep(New TimeSpan(0, 0, 0, 0, 10)) End While End If 'start validation Dim ValidationArgument As W3CValidator = New W3CValidator(WholeDocumentText) ValidationWorker.RunWorkerAsync(ValidationArgument) End Sub
ऐसा लगता है कि मेरी BackgroundWorker के CancelAsync() कॉल के बाद, अपने IsBusy कभी नहीं झूठी हो जाता है। यह एक अनंत लूप में फंस जाता है।
मैं क्या गलत कर रहा हूं?
मैं प्रक्रिया से बाहर निकलने अगर e.Cancelled सच है मतलब है। – Pat