निम्नलिखित प्रोग्राम वेब से कनेक्ट होंगे और "msnbc.com" वेबपृष्ठ की HTML सामग्री प्राप्त करेंगे और परिणाम प्रिंट करेंगे। यदि वेबपृष्ठ से डेटा प्राप्त करने में 2 सेकंड से अधिक समय लगता है, तो मैं चाहता हूं कि मेरी विधि काम करना बंद कर दें और वापस आएं। क्या आप कृपया मुझे बता सकते हैं कि मैं इसे उदाहरण के साथ कैसे कर सकता हूं?सी # यदि किसी विधि को 2 सेकंड से अधिक समय लगता है तो कैसे रोकें?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
gethtml();
MessageBox.Show("End of program");
}
public void gethtml()
{
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create("http://msnbc.com/");
WebResponse Response = WebRequestObject.GetResponse();
Stream WebStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(WebStream);
string webcontent = Reader.ReadToEnd();
MessageBox.Show(webcontent);
}
}
आप शायद निष्पादित एक धागा में लाने, और (धागा गर्भपात अगर यह दो से अधिक सेकंड लेता है करना चाहते हैं एक टाइमर सेटअप/invoke के माध्यम से)। – ashes999
@ ashes999: यह एक बहुत ही बुरा विचार है। ** अगर आप पूरी प्रक्रिया को कम करने की योजना बना रहे हैं तो केवल थ्रेड को रोक दें। ** धागे को छोड़ना अंतिम उपाय होना चाहिए। एक प्रबंधित धागे को छोड़कर मनमाने ढंग से डेटा संरचनाओं को भ्रष्ट कर सकते हैं। –
आपके सभी उत्तरों के लिए बहुत बहुत धन्यवाद। –