जब उपयोगकर्ता कुछ करता है (कई रिपोर्ट उत्पन्न करता है) तो हमारे पास कुछ लंबे समय तक चलने वाला ऑपरेशन फ़ायरिंग होता है। हम नहीं चाहते हैं कि उपयोगकर्ता तब तक प्रतीक्षा करे जब तक कि उन रिपोर्टों को उत्पन्न नहीं किया जाता है। क्या नौकरियों को लागू किए बिना इसे पूरा करने का कोई त्वरित तरीका है? शायद इस तरह धागे का उपयोग कर? या यह सुरक्षित नहीं है?लंबे समय तक चलने वाले कार्यों की प्रतीक्षा न करें ASP.NET MVC
public ActionResult About()
{
Thread thread = new Thread(new ThreadStart(MuchWork));
thread.Start();
return View();
}
public void MuchWork()
{
Thread.Sleep(10000);
Thread.Sleep(4000);
}
असुरक्षित के साथ मेरा मतलब था कि यह संभव है कि आईआईएस द्वारा एसिंक थ्रेड का निपटारा किया जाए जब कॉलिंग अनुरोध कुछ समय समाप्त हो गया हो। वास्तव में एक अच्छा अपवाद हैंडलिंग/लॉगिंग होना आवश्यक होगा। हमारी स्थिति में यदि सर्वर क्रैश हो जाएगा तो उपयोगकर्ता विनाशकारी नहीं होगा क्योंकि उपयोगकर्ता यह देखेगा कि उसकी रिपोर्ट वहां नहीं है। – MichaelD