Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönlendirme sözleşmeleri, Yönlendirme Hizmeti'nin işleyebileceği ileti desenlerini tanımlar. Her sözleşme türüzdür ve hizmetin ileti şemasını veya eylemini bilmeden bir ileti almasına olanak tanır. Bu, Yönlendirme Hizmeti'nin yönlendirilmekte olan temel iletilerin özellikleri için ek yapılandırma olmadan iletileri genel olarak yönlendirmesine olanak tanır.
Yönlendirme Sözleşmeleri
Yönlendirme Hizmeti genel bir WCF İletisi nesnesi kabul ettiğinden, sözleşme seçerken dikkat edilmesi gereken en önemli nokta, istemciler ve hizmetlerle iletişim kurarken kullanılacak kanalın şeklidir. İletileri işlerken Yönlendirme Hizmeti simetrik ileti pompaları kullanır, bu nedenle genellikle gelen sözleşmenin şekli giden sözleşmenin şekliyle eşleşmelidir. Bununla birlikte, Hizmet Modeli dağıtıcısının şekilleri değiştirebildiği durumlar vardır; örneğin dağıtıcı çift yönlü kanalı istek yanıt kanalına dönüştürür veya gerekli olmadığında ve kullanılmadığında kanaldan oturum desteğini kaldırır (yani SessionMode.Allowed olduğunda, bir IInputSessionChannel'i IInputChannel'e dönüştürür).
Yönlendirme Hizmeti, bu ileti pompalarını desteklemek için ad alanında System.ServiceModel.Routing , Yönlendirme Hizmeti tarafından kullanılan hizmet uç noktalarını tanımlarken kullanılması gereken sözleşmeler sağlar. Bu sözleşmeler, herhangi bir ileti türünün veya eylemin alınmasına olanak tanıyan ve Yönlendirme Hizmeti'nin belirli ileti şemasını bilmeden iletileri işlemesine olanak tanıyan türsüz anlaşmalardır. Yönlendirme Hizmeti tarafından kullanılan sözleşmeler hakkında daha fazla bilgi için bkz. Yönlendirme Sözleşmeleri.
Yönlendirme Hizmeti tarafından sağlanan sözleşmeler ad alanında System.ServiceModel.Routing bulunur ve aşağıdaki tabloda açıklanmıştır.
| Sözleşme | Şekil | Kanal Şekli |
|---|---|---|
| ISimplexDatagramRouter | SessionMode = SessionMode.Allowed AsyncPattern = true IsOneWay = true |
IInputChannel -> IOutputChannel |
| ISimplexSessionRouter | OturumModu = OturumModu.Gerekli AsyncPattern = doğru IsOneWay = doğru |
IInputSessionChannel -> IOutputSessionChannel |
| IRequestReplyRouter | SessionMode = SessionMode.Allowed AsyncPattern = doğru |
IReplyChannel -> IRequestChannel |
| IDuplexSessionRouter | SessionMode=SessionMode.Required CallbackContract=typeof(ISimplexSession) AsyncPattern = true IsOneWay = true TransactionFlow(TransactionFlowOption.Allowed) |
IDuplexSessionChannel -> IDuplexSessionChannel |