WCF'de bu [OperationContract(IsOneWay = true)]
özelliklere sahip olduklarını gördüm . Ancak WCF, tıkanmasız bir işlev yaratmak için biraz yavaş ve ağır görünüyor. İdeal olarak statik boşluk MethodFoo(){}
engelleme gibi bir şey olurdu , ama bunun var olduğunu düşünmüyorum.
C # 'da engellenmeyen bir yöntem çağrısı oluşturmanın en hızlı yolu nedir?
Örneğin
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");
}
}
Not : Bunu okuyan herkes, yöntemin gerçekten bitmesini isteyip istemediklerini düşünmelidir. (Bkz. # 2 üst yanıt) Yöntemin tamamlanması gerekiyorsa, ASP.NET uygulaması gibi bazı yerlerde iş parçacığını engellemek ve canlı tutmak için bir şeyler yapmanız gerekir. Aksi takdirde, bu "yangın unut-ama-asla-gerçekten-yürütmek" yol açabilir, bu durumda, elbette, hiç kod yazmak daha kolay olurdu. ( Bunun ASP.NET'te nasıl çalıştığının iyi bir açıklaması )