Ana içeriğe atla

.Net 2.0 WCF uygulaması tasarlarken...

WCF yazmak her ne kadar altyapı fonksiyonları ile kolay görünsede aslında arka tarafta, tasarım anında, birçok özelliği iyi bilmeği gerektiriyor.

WCF kapsamında host edilen bir sınıf, "InstanceContextMode = InstanceContextMode.PerCall" olması durumunda multi-thread koşulunda sorun yaratmayabilir ancak "ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single" durumunda daha dikkatli tasarım yapmak gerekiyor.

WCF sunucusuna gelen her talep bir thread ile cevaplanır ve bu durumda sınıfın thread-safe olması önem kazanmaktadır. Single sınıf yaratılması durumunda aynı sınıf üzerinde birden fazla thread iş yapabilir ve bu durumda kullanılacak kod parçacıkları ThreadStatic, Volatile, Static, lock, monitor vb gibi C# komut ve/veya tanımlamaları ile korunmalıdır.