<basicHttpBinding>
Bir Windows Communication Foundation (WCF) hizmetinin ASMX tabanlı Web hizmetleri ve istemcileri ve WS-I Temel Profili 1.1'e uygun diğer hizmetlerle iletişim kurabilen uç noktaları yapılandırmak ve kullanıma açmak için kullanabileceği bir bağlamayı temsil eder.
<Yapılandırma>
<system.serviceModel>
<Bağlama>
<basicHttpBinding>
Syntax
<basicHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="String"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
useDefaultWebProxy="Boolean">
<security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
<transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
realm="String" />
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="UserName/Certificate" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</basicHttpBinding>
Öznitelikler ve Öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Öznitelikler
Öznitelik | Açıklama |
---|---|
allowCookies |
İstemcinin tanımlama bilgilerini kabul edip etmediğini ve bunları gelecekteki isteklere yayıp yaymadığını gösteren boole değeri. Varsayılan değer: false .Tanımlama bilgilerini kullanan ASMX Web hizmetleriyle etkileşim kurarken bu özelliği kullanabilirsiniz. Bu şekilde, sunucudan döndürülen tanımlama bilgilerinin söz konusu hizmet için gelecekteki tüm istemci isteklerine otomatik olarak kopyalandığından emin olabilirsiniz. |
bypassProxyOnLocal |
Yerel adresler için ara sunucunun atlanıp atlanmayacağını gösteren boole değeri. Varsayılan değer: false .Bir İnternet kaynağı, yerel bir adresi varsa yereldir. Yerel adres, aynı bilgisayarda, yerel LAN'da veya intranette bulunan adrestir ve URI'lerde http://webserver/ http://localhost/ olduğu gibi nokta (.) olmamasıyla söz dizimsel olarak tanımlanır.Bu özniteliğin ayarlanması, TemelHttpBinding ile yapılandırılan uç noktaların yerel kaynaklara erişirken ara sunucuyu kullanıp kullanmadığını belirler. Bu öznitelik ise true , yerel İnternet kaynaklarına yapılan istekler ara sunucuyu kullanmaz. İstemcilerin, bu öznitelik olarak ayarlandığında true aynı makinedeki hizmetlerle konuşurken ara sunucudan geçmelerini istiyorsanız ana bilgisayar adını (localhost yerine) kullanın.Bu öznitelik olduğunda false , tüm İnternet istekleri ara sunucu üzerinden yapılır. |
closeTimeout |
Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
hostNameComparisonMode |
URI'leri ayrıştırmak için kullanılan HTTP ana bilgisayar adı karşılaştırma modunu belirtir. Bu öznitelik, URI ile eşleştirilirken ana bilgisayar adının hizmete ulaşmak için kullanılıp kullanılmadığını gösteren türündedir HostNameComparisonMode. Varsayılan değer, eşleşmedeki konak adını yoksayan değeridir StrongWildcard. |
maxBufferPoolSize |
Kanaldan ileti alan ileti arabelleklerinin yöneticisi tarafından kullanılmak üzere ayrılan en fazla bellek miktarını belirten bir tamsayı değeri. Varsayılan değer 524288 (0x80000) bayttır. Arabellek Yöneticisi, arabellek havuzu kullanarak arabellekleri kullanma maliyetini en aza indirir. Arabellekler, kanaldan çıkan iletileri hizmet tarafından işlemek için gereklidir. Arabellek havuzunda ileti yükünü işlemek için yeterli bellek yoksa, Arabellek Yöneticisi'nin CLR yığınından ek bellek ayırması gerekir ve bu da çöp toplama ek yükünü artırır. CLR çöp yığınından kapsamlı ayırma, arabellek havuzu boyutunun çok küçük olduğunu ve bu öznitelik tarafından belirtilen sınır artırılarak daha büyük bir ayırma ile performansın geliştirilebileceğinin göstergesidir. |
maxBufferSize |
bu bağlama ile yapılandırılmış bir uç nokta için işlenirken iletileri depolayan bir arabelleğin bayt cinsinden en büyük boyutunu belirten bir tamsayı değeri. Varsayılan değer 65.536 bayttır. |
maxReceivedMessageSize |
Bu bağlamayla yapılandırılmış bir kanalda alınabilen bir ileti için üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu tanımlayan pozitif bir tamsayı. İleti alıcı için çok büyükse gönderen bir SOAP hatası alır. Alıcı iletiyi bırakır ve izleme günlüğünde olayın bir girdisini oluşturur. Varsayılan değer 65.536 bayttır. |
messageEncoding |
SOAP iletisini kodlamak için kullanılan kodlayıcıyı tanımlar. Geçerli değerler şunlardır: - Metin: Kısa mesaj kodlayıcı kullanın. - Mtom: İleti İletim Kuruluş Mekanizması 1.0 (MTOM) kodlayıcı kullanın. Varsayılan değer Metin'dir. Bu öznitelik türündedir WSMessageEncoding. |
name |
Bağlamanın yapılandırma adını içeren bir dize. Bu değer aynı türdeki bağlamalar arasında benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri için Basitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma. |
openTimeout |
Açma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
proxyAddress |
HTTP ara sunucusunun adresini içeren bir URI. olarak ayarlanırsa useSystemWebProxy true , bu ayar olmalıdır null . Varsayılan değer: null . |
receiveTimeout |
Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:10:00'dır. |
sendTimeout |
Gönderme TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
textEncoding |
Bağlamadaki iletileri yaymak için kullanılacak karakter kümesi kodlamasını ayarlar. Geçerli değerler şunlardır: - BigEndianUnicode: Unicode BigEndian kodlaması. - Unicode: 16 bit kodlama. - UTF8: 8 bit kodlama Varsayılan değer UTF8'dir. Bu öznitelik türündedir Encoding. |
transferMode |
İletilerin bir istekte veya yanıtta arabelleğe alınıp alınmayacağını veya akışa alınıp alınmayacağını belirten geçerli TransferMode bir değer. |
useDefaultWebProxy |
Varsa, sistemin otomatik olarak yapılandırılmış HTTP proxy'sinin kullanılıp kullanılmayacağını belirten bir Boole değeri. Varsayılan değer: true . |
Alt Öğeler
Öğe | Açıklama |
---|---|
<Güvenlik> | Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir BasicHttpSecurityElement. |
<readerQuotas> | Bu bağlama ile yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement. |
Üst Öğeler
Öğe | Açıklama |
---|---|
<Bağlama> | Bu öğe, standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor. |
Açıklamalar
BasicHttpBinding, SOAP 1.1 iletilerini göndermek için aktarım olarak HTTP kullanır. Bir hizmet, ASMX istemcilerinin kullandığı uç noktalar gibi WS-I BP 1.1'e uyan uç noktaları kullanıma açmak için bu bağlamayı kullanabilir. Benzer şekilde istemci, ASMX Web hizmetleri veya TemelHttpBinding ile yapılandırılmış hizmetler gibi WS-I BP 1.1'e uygun uç noktaları kullanıma sunan hizmetlerle iletişim kurmak için TemelHttpBinding'i kullanabilir.
Güvenlik varsayılan olarak kapalıdır, ancak güvenlik> alt öğesinin< mode özniteliğini dışında None
bir değere ayarlayarak eklenebilir. Varsayılan olarak bir "Metin" ileti kodlaması ve UTF-8 metin kodlaması kullanır.
Örnek 1
Aşağıdaki örnekte, birinci ve ikinci nesil Web hizmetleriyle HTTP iletişimi ve en yüksek birlikte çalışabilirlik sağlayan kullanımı BasicHttpBinding gösterilmektedir. Bağlama, istemci ve hizmetin yapılandırma dosyalarında belirtilir. Bağlama türü öğesinin binding
özniteliği <endpoint>
kullanılarak belirtilir. Temel bağlamayı yapılandırmak ve bazı ayarlarını değiştirmek istiyorsanız, bağlama yapılandırması tanımlamak gerekir. Uç nokta, aşağıdaki hizmet yapılandırma kodunda gösterildiği gibi öğesinin bindingConfiguration
<endpoint>
özniteliğini kullanarak bağlama yapılandırmasına ada göre başvurmalıdır.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="Binding1"
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Örnek 2
.NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Önceki örnekteki işlevsellik, uç nokta adresinden bindingConfiguration ve bağlamadan ad kaldırılarak gerçekleştirilebilir.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri için Basitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.