Sistem tarafından sağlanan bağlamalar

Bağlamalar, bir uç noktayla konuşurken kullanılacak iletişim mekanizmasını belirtir ve uç noktaya nasıl bağlanılacağını belirtir. Bağlama aşağıdaki öğeleri içerir:

  • Protokol yığını, uç noktaya gönderilen iletiler için kullanılacak güvenlik, güvenilirlik ve bağlam akışı ayarlarını belirler.

  • Aktarım, uç noktaya ileti gönderirken kullanılacak temel aktarım protokollerini (örneğin, TCP veya HTTP) belirler.

  • Kodlama, uç noktaya gönderilen iletiler için kullanılacak kablo kodlamasını belirler. Örneğin, metin/XML, ikili veya İleti İletim İyileştirme Mekanizması (MTOM).

Bu makalede, sistem tarafından sağlanan tüm Windows Communication Foundation (WCF) bağlamaları sunulmaktadır. Bu bağlamalardan hiçbiri uygulamanız için tam ölçütleri karşılıyorsa, özel bir bağlama oluşturabilirsiniz. Özel bağlamalar oluşturma hakkında daha fazla bilgi için bkz. Özel Bağlamalar.

WS-Federation protokolunu destekleyen güvenli ve birlikte çalışabilen bağlama, federasyondaki kuruluşların kullanıcıların kimliğini verimli bir şekilde doğrulamasını ve yetkilendirmesini sağlar.

Önemli

Her zaman güvenlik içeren bir bağlama seçin. Varsayılan olarak, temelHttpBinding> öğesi dışındaki< tüm bağlamalarda güvenlik etkindir. Güvenli bağlama seçmezseniz veya güvenliği devre dışı bırakmazsanız, verilerinizi güvenli bir veri merkezinde veya yalıtılmış bir ağda depolama gibi başka bir şekilde koruduğunuzdan emin olun.

Önemli

Verilerin güvenliğini başka bir yolla sağlamadığınız sürece, güvenliği desteklemeyen veya güvenliği devre dışı bırakılmış bağlamalara sahip çift yönlü anlaşmaları hiçbir zaman kullanmayın.

Aşağıdaki bağlamalar WCF ile birlikte göndermektedir:

Bağlama Configuration Öğesi Description
BasicHttpBinding <basicHttpBinding> ASP.NET Web hizmetleri (ASMX) tabanlı hizmetler gibi WS-Basic Profili uyumlu Web hizmetleriyle iletişim kurmak için uygun bir bağlama. Bu bağlama aktarım olarak HTTP ve varsayılan ileti kodlaması olarak metin/XML kullanır.
WSHttpBinding <wsHttpBinding> Çift yönlü olmayan hizmet sözleşmeleri için uygun olan güvenli ve birlikte çalışabilir bağlama.
WSDualHttpBinding <wsDualHttpBinding> Çift yönlü hizmet sözleşmeleri veya SOAP aracıları aracılığıyla iletişim için uygun olan güvenli ve birlikte çalışabilen bağlama.
WSFederationHttpBinding <wsFederationHttpBinding> Federasyondaki kuruluşların kullanıcıların kimliklerini verimli bir şekilde doğrulamasını ve yetkilendirmesini sağlayan WS-Federation protokollerini destekleyen güvenli ve birlikte çalışabilen bağlama.
NetHttpBinding <netHttpBinding> Varsayılan olarak ikili kodlama kullanan HTTP veya WebSocket hizmetlerinin tüketilmesi için tasarlanmış bir bağlama.
NetHttpsBinding <netHttpsBinding> Varsayılan olarak ikili kodlama kullanan HTTP veya WebSocket hizmetlerinin tüketilmesi için tasarlanmış güvenli bağlama.
NetTcpBinding <netTcpBinding> WCF uygulamaları arasında makineler arası iletişim için uygun güvenli ve iyileştirilmiş bağlama.
NetNamedPipeBinding <netNamedPipeBinding> WCF uygulamaları arasında makine içi iletişim için uygun olan güvenli, güvenilir, iyileştirilmiş bağlama.
NetMsmqBinding <Netmsmqbinding> WCF uygulamaları arasında makineler arası iletişim için uygun kuyruğa alınmış bağlama.
NetPeerTcpBinding <Netpeertcpbinding> Güvenli, birden çok makine iletişimi sağlayan bağlama.
MsmqIntegrationBinding <msmqIntegrationBinding> WCF uygulaması ile var olan Message Queuing uygulamaları arasında makineler arası iletişim için uygun bir bağlama.
BasicHttpContextBinding <basicHttpContextBinding> Http tanımlama bilgilerinin bağlam değişiminde kullanılmasını sağlayan WS-Basic Profili uyumlu Web hizmetleriyle iletişim kurmak için uygun bir bağlama.
NetTcpContextBinding <Nettcpcontextbinding> SOAP üst bilgilerinin bağlam değişiminde kullanılmasını sağlayan WCF uygulamaları arasında makineler arası iletişim için uygun güvenli ve iyileştirilmiş bağlama.
WebHttpBinding <webHttpBinding> SOAP iletileri yerine HTTP istekleri aracılığıyla kullanıma sunulan WCF Web hizmetleri için uç noktaları yapılandırmak için kullanılan bağlama.
WSHttpContextBinding <wsHttpContextBinding> BAĞLAMı değiştirmek için SOAP üst bilgilerinin kullanılmasını sağlayan çift yönlü olmayan hizmet sözleşmelerine uygun güvenli ve birlikte çalışabilir bağlama.
UdpBinding <Udpbinding> Aynı anda çok sayıda istemciye çok sayıda basit ileti gönderirken kullanılacak bağlama.

Aşağıdaki tabloda, sistem tarafından sağlanan bağlamaların her birinin özellikleri gösterilmektedir. Bağlamalar tablo sütunlarında bulunur; özellikler satırlarda listelenir ve ikinci bir tabloda açıklanmıştır. Aşağıdaki tabloda kullanılan bağlama kısaltmaları için bir anahtar verilmiştir. Bağlama seçmek için, hangi sütunun ihtiyacınız olan tüm satır özelliklerini karşıladığını belirleyin.

Bağlama Birlikte çalışabilirlik Güvenlik (Varsayılan) Oturum
(Varsayılan)
İşlemler Çift Yönlü Kodlama (Varsayılan) Akış
(Varsayılan)
BasicHttpBinding Temel Profil 1.1 (Yok), Taşıma, İleti, Karma (Yok) (Yok) yok Metin, (MTOM) Yes
(arabelleğe alınan)
WSHttpBinding WS Aktarım, (İleti), Karma (Yok), Güvenilir Oturum, Güvenlik Oturumu (Yok), Evet yok (Metin), MTOM No
WSDualHttpBinding WS (İleti), Yok (Güvenilir Oturum), Güvenlik Oturumu (Yok), Evet Yes (Metin), MTOM No
WSFederationHttpBinding WS-Federation (İleti), Karma, Yok (Yok), Güvenilir Oturum, Güvenlik Oturumu (Yok), Evet No (Metin), MTOM No
NetHttpBinding .NET (Yok), Transport, Message, TransportWithMessageCredential, TransportCredentialOnly Aşağıdaki nota bakın Hiçbiri Aşağıdaki nota bakın (İkili), Metin, MTOM Evet (arabelleğe alınan)
NetHttpsBinding .NET (Taşıma), TransportWithMessageCredential Aşağıdaki nota bakın Hiçbiri Aşağıdaki nota bakın (İkili), Metin, MTOM Yes
(arabelleğe alınır)
NetTcpBinding .NET (Aktarım), İleti, Yok, Karma (Aktarım), Güvenilir Oturum, Güvenlik Oturumu (Yok), Evet Yes İkili Yes
(arabelleğe alınır)
NetNamedPipeBinding .NET (Taşıma), Yok Yok, (Taşıma) (Yok), Evet Yes İkili Yes
(arabelleğe alınır)
NetMsmqBinding .NET İleti, (Aktarım), Yok (Yok), Taşıma Yok, (Evet) No İkili No
NetPeerTcpBinding Eşdüzey hizmet sağlayıcı (Taşıma) (Yok) (Yok) Yes Hayır
MsmqIntegrationBinding MSMQ (Taşıma) (Yok) Yok, (Evet) yok yok No
BasicHttpContextBinding Temel Profil 1.1 (Yok), Taşıma, İleti, Karma (Yok) (Yok) yok Metin, (MTOM) Yes
(arabelleğe alınır)
NetTcpContextBinding .NET (Aktarım), İleti, Yok, Karma (Aktarım), Güvenilir Oturum, Güvenlik Oturumu (Yok), Evet Yes İkili Yes
(arabelleğe alınır)
WSHttpContextBinding WS Taşıma, (İleti), Karma (Yok), Güvenilir Oturum, Güvenlik Oturumu (Yok), Evet yok Metin, (MTOM) No
UdpBinding

Not: Birlikte çalışabilirlik, bu bağlamanın uyguladığı standart SOAP-over-UDP belirtimi uygulanarak elde edilebilir.
.NET (Yok) (Yok) (Yok) yok (Metin) No

Önemli

NetHttpBinding HTTP veya WebSocket hizmetlerinin kullanımı için tasarlanmış ve varsayılan olarak ikili kodlama kullanan bir bağlamadır. NetHttpBinding istek-yanıt sözleşmesiyle mi yoksa çift yönlü sözleşmeyle mi kullanıldığını algılar ve davranışını eşleşecek şekilde değiştirir; request-reply için HTTP ve çift yönlü için WebSockets kullanır. Bu davranış bağlama ayarı kullanılarak WebSocketTransportUsage geçersiz kılınabilir: WhenDuplex - Bu varsayılan değerdir ve yukarıda açıklandığı gibi davranır. Hiçbir zaman - Bu, WebSockets'in kullanılmasını engeller. Bu ayar ile çift yönlü anlaşma kullanılmaya çalışılması bir özel durumla sonuçlanıyor. Her Zaman - Bu, WebSockets'ı istek-yanıt sözleşmeleri için bile kullanılmaya zorlar. NetHttpBinding hem HTTP modunda hem de WebSocket modunda güvenilir oturumları destekler. WebSocket modunda oturumlar aktarım tarafından sağlanır.

Aşağıdaki tabloda, önceki tabloda listelenen özellikler açıklanmaktadır.

Özellik Açıklama
Birlikte Çalışabilirlik Türü Bağlamanın birlikte çalışma sağladığı protokolü veya teknolojiyi adlandırın.
Güvenlik Kanalın güvenliğinin nasıl sağlanmış olduğunu belirtir:
- Hiçbiri: SOAP iletisi güvenli değildir ve istemcinin kimliği doğrulanmamıştır.
- Taşıma: Güvenlik gereksinimleri aktarım katmanında karşılanmaktadır.
- İleti: güvenlik gereksinimleri ileti katmanında karşılanmıştır.
- Karışık: Talepler iletide taşınır; bütünlük ve gizlilik gereksinimleri aktarım katmanı tarafından karşılanmıştır.
Oturum Bu bağlamanın oturum sözleşmelerini destekleyip desteklemediğini belirtir.
İşlemler İşlemlerin etkinleştirilip etkinleştirilmediğini belirtir.
Çift Yönlü Çift yönlü anlaşmaların desteklenip desteklenmediğini belirtir. Bu özelliğin bağlamadaki Oturumlar için destek gerektirdiğini unutmayın.
Encoding İletinin kablo biçimini belirtir. İzin verilebilen değerler şunlardır:
- Metin: örneğin UTF-8.
-Ikili
- İleti İletim İyileştirme Mekanizması (MTOM): BIR SOAP zarfı bağlamında ikili XML öğelerini verimli bir şekilde kodlamaya yönelik bir yöntemdir.
Akış Gelen ve giden iletiler için akışın desteklenip desteklenmediğini belirtir. TransferMode Değerini ayarlamak için bağlamadaki özelliğini kullanın. İzin verilebilen değerler şunlardır:
- Buffered: İstek ve yanıt iletilerinin ikisi de arabelleğe alınmaktadır.
- Streamed: İstek ve yanıt iletilerinin ikisi de akışa eklenir.
- StreamedRequest: İstek iletisi akışı yapılır ve yanıt iletisi arabelleğe eklenir.
- StreamedResponse: İstek iletisi arabelleğe alınıp yanıt iletisi akışı yapılır.

Ayrıca bkz.