मुझे थ्रेड में एक लंबी प्रक्रिया ऑपरेशन निष्पादित करना है और परिणाम को फ़ंक्शन में वापस लौटना जारी रखना है। यहां मेरा कोड है:सी # कार्य फैक्ट्री टाइमआउट
Task<ProductEventArgs>.Factory.StartNew(() =>
{
try
{
// long operation which return new ProductEventArgs with a list of product
}
catch (Exception e)
{
return new ProductEventArgs() { E = e };
}
}).ContinueWith((x) => handleResult(x.Result), TaskScheduler.FromCurrentSynchronizationContext());
समस्या वास्तव में मेरे पास टाइमआउट नहीं है। मैं इस तरह कुछ वापस करने के लिए टाइमर रखना चाहता हूं:
new ProductEventArgs() { E = new Exception("timeout") };
यदि टाइमआउट पहुंच गया है। प्रतीक्षा/async का उपयोग नहीं कर सकते हैं। बहुत बहुत धन्यवाद!
प्यार आप: - * मैं थोड़ा और अधिक थ्रेड प्रबंधन पर सी # पर नया हूँ और तुम मेरा दिन बना! – Rototo