मैंने डब्ल्यूसीएफ में देखा कि उनके पास क्या [OperationContract(IsOneWay = true)]
विशेषता है। लेकिन WCF एक नॉनब्लॉकिंग फंक्शन बनाने के लिए सिर्फ धीमा और भारी लगता है। आदर्श रूप से स्थैतिक शून्य गैर-संपर्क जैसा कुछ होगा MethodFoo(){}
, लेकिन मुझे नहीं लगता कि यह मौजूद है।
C # में नॉनब्लॉकिंग मेथड कॉल करने का सबसे तेज तरीका क्या है?
उदाहरण के लिए
class Foo
{
static void Main()
{
FireAway(); //No callback, just go away
Console.WriteLine("Happens immediately");
}
static void FireAway()
{
System.Threading.Thread.Sleep(5000);
Console.WriteLine("5 seconds later");
}
}
एनबी : इसे पढ़ने वाले सभी को यह सोचना चाहिए कि क्या वे वास्तव में खत्म करने की विधि चाहते हैं। (# 2 शीर्ष उत्तर देखें) यदि विधि को समाप्त करना है, तो कुछ स्थानों पर, ASP.NET एप्लिकेशन की तरह, आपको थ्रेड को ब्लॉक करने और जीवित रखने के लिए कुछ करना होगा। अन्यथा, यह "आग-भूल-लेकिन-कभी-कभी-वास्तव में निष्पादित करने के लिए" हो सकता है, जिस स्थिति में, निश्चित रूप से, कोई कोड नहीं लिखना सरल होगा। ( यह कैसे ASP.NET में काम करता है का एक अच्छा विवरण )