Windows Communication Foundation Bağlamaları Genel Bakış
Bağlamalar, Windows Communication Foundation (WCF) hizmetinin uç noktasına bağlanmak için gereken iletişim ayrıntılarını belirtmek için kullanılan nesnelerdir. WCF hizmetindeki her uç noktanın iyi belirtilmesi için bir bağlama gerekir. Bu konu başlığı altında bağlamaların tanımladığına ilişkin iletişim ayrıntıları türleri, bağlamanın öğeleri, WCF'ye hangi bağlamaların dahil olduğu ve uç nokta için bağlamanın nasıl belirtilebileceği açıklanmaktadır.
BağlamaNın Tanımladığı
Bağlamadaki bilgiler çok temel veya çok karmaşık olabilir. En temel bağlama yalnızca uç noktaya bağlanmak için kullanılması gereken aktarım protokollerini (HTTP gibi) belirtir. Daha genel olarak, bir bağlamanın bir uç noktaya bağlanma hakkında içerdiği bilgiler aşağıdaki kategorilerden birine girer:
Protokoller
Kullanılan güvenlik mekanizmasını belirler: güvenilir mesajlaşma özelliği veya işlem bağlamı akışı ayarları.
Kodlama
İleti kodlamasını belirler (örneğin, metin veya ikili).
Taşıma
Kullanılacak temel aktarım protokollerini belirler (örneğin, TCP veya HTTP).
Bağlamanın Öğeleri
Bağlama temelde, her biri bir hizmet uç noktasına bağlanmak için gereken iletişim bilgilerinin bir bölümünü belirten sıralı bir bağlama öğeleri yığınından oluşur. Yığındaki en düşük iki katman da gereklidir. Yığının tabanında aktarım bağlama öğesi bulunur ve bunun hemen üstünde ileti kodlama belirtimlerini içeren öğe bulunur. Diğer iletişim protokollerini belirten isteğe bağlı bağlama öğeleri, bu iki gerekli öğe üzerinde katmanlanır. Bu bağlama öğeleri ve doğru sıralamaları hakkında daha fazla bilgi için bkz . Özel Bağlamalar.
Sistem Tarafından Sağlanan Bağlamalar
Bağlamadaki bilgiler karmaşık olabilir ve bazı ayarlar başkalarıyla uyumlu olmayabilir. Bu nedenle WCF, sistem tarafından sağlanan bir dizi bağlama içerir. Bu bağlamalar, uygulama gereksinimlerinin çoğunu kapsayacak şekilde tasarlanmıştır. Aşağıdaki sınıflar, sistem tarafından sağlanan bağlamaların bazı örneklerini temsil eder:
BasicHttpBinding: WS-I Temel Profil belirtimine (örneğin, Web hizmetleri tabanlı hizmetler ASP.NET) uyan Web hizmetlerine bağlanmaya uygun bir HTTP protokolü bağlaması.
WSHttpBinding: WS-* protokollerine uygun uç noktalara bağlanmaya uygun birlikte çalışabilir bağlama.
NetNamedPipeBinding: Aynı makinedeki diğer WCF uç noktalarına bağlanmak için .NET Framework kullanır.
NetMsmqBinding: Diğer WCF uç noktalarıyla kuyruğa alınmış ileti bağlantıları oluşturmak için .NET Framework kullanır.
NetTcpBinding: Bu bağlama, HTTP bağlamalarından daha yüksek performans sunar ve yerel ağda kullanmak için idealdir.
WCF tarafından sağlanan tüm bağlamaların açıklamalarını içeren tam liste için bkz . Sistem Tarafından Sağlanan Bağlamalar.
Kendi Bağlamalarınızı Kullanma
Dahil edilen sistem tarafından sağlanan bağlamaların hiçbiri bir hizmet uygulamasının gerektirdiği özelliklerin doğru birleşimine sahip değilse, kendi bağlamanızı oluşturabilirsiniz. Bunu yapmanın iki yolu vardır. Bir nesneyi kullanarak önceden var olan bağlama öğelerinden yeni bir CustomBinding bağlama oluşturabilir veya bağlamadan Binding türeterek tamamen kullanıcı tanımlı bir bağlama oluşturabilirsiniz. Bu iki yaklaşımı kullanarak kendi bağlamanızı oluşturma hakkında daha fazla bilgi için bkz . Özel Bağlamalar ve Kullanıcı Tanımlı Bağlamalar Oluşturma.
Bağlamaları Kullanma
Bağlamaları kullanmak iki temel adım gerektirir:
Bağlama seçin veya tanımlayın. En kolay yöntem, WCF'ye dahil edilen sistem tarafından sağlanan bağlamalardan birini seçmek ve bunu varsayılan ayarlarıyla kullanmaktır. Ayrıca sistem tarafından sağlanan bir bağlama seçebilir ve özellik değerlerini gereksinimlerinize uyacak şekilde sıfırlayabilirsiniz. Alternatif olarak, daha yüksek denetim ve özelleştirme derecelerine sahip olmak için özel bağlama veya kullanıcı tanımlı bağlama oluşturabilirsiniz.
Seçilen veya tanımlanan bağlamayı kullanan bir uç nokta oluşturun.
Kod ve Yapılandırma
Bağlamaları iki şekilde tanımlayabilirsiniz: kod veya yapılandırma aracılığıyla. Bu iki yaklaşım, sistem tarafından sağlanan bağlamayı mı yoksa özel bağlamayı mı kullandığınıza bağlı değildir. Genel olarak, kod kullanmak tasarım zamanında bağlamanın tanımı üzerinde tam denetim sağlar. Öte yandan yapılandırmayı kullanmak, sistem yöneticisinin veya WCF hizmeti veya istemcisinin kullanıcısının hizmet uygulamasını yeniden derlemek zorunda kalmadan bağlamanın parametrelerini değiştirmesine izin verir. Bu esneklik genellikle tercih edilir çünkü wcf uygulamasının dağıtılacağı belirli makine gereksinimlerini tahmin etmenin bir yolu yoktur. Bağlama (ve adresleme) bilgilerinin kod dışında tutulması, uygulamanın yeniden derlenmesine veya yeniden dağıtılmasına gerek kalmadan bunların değişmesine olanak tanır. Kodda tanımlanan bağlamaların yapılandırmada belirtilen bağlamalardan sonra oluşturulduğunu ve kod tanımlı bağlamaların yapılandırma tanımlı bağlamaların üzerine yazılmasını sağlar.