<netHttpsBinding>
Bir Windows Communication Foundation (WCF) hizmetinin HTTPS üzerinden iletişim kurabilen uç noktaları yapılandırmak ve kullanıma açmak için kullanabileceği bağlamayı temsil eder. Çift yönlü anlaşmayla kullanıldığında Web Yuvaları kullanılır, aksi takdirde HTTPS kullanılır.
<Yapılandırma>
<system.serviceModel>
<Bağlama>
<netHttpsBinding>
Syntax
<netHttpsBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="Binary/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>
</netHttpsBinding>
Tür
Type
Ö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 bilgileri 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ı belirten boole değeri. Varsayılan değer: false .İnternet kaynağı yerel bir adrese sahipse 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 kullanmayacağını belirler. Bu öznitelik ise true , yerel İnternet kaynaklarına yapılan istekler ara sunucuyu kullanmaz. Bu öznitelik olarak ayarlandığında true istemcilerin aynı makinedeki hizmetlerle konuşurken ara sunucu üzerinden gitmesini 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 eşit Zeroolmalı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 ana bilgisayar adını yoksayan değeridir StrongWildcard. |
maxBufferPoolSize |
Kanaldan ileti alan ileti arabelleklerinin yöneticisi tarafından kullanılmak üzere ayrılan en yüksek 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 iyileştirilebileceğinin bir 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ınabilecek 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 girişini 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: Metin iletisi 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. Bağlama için tanımlama olarak kullanıldığından bu değer 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çinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma. |
openTimeout |
Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalı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 eşit Zeroolmalı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 eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır. |
textEncoding |
Bağlamada 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 |
bir istek veya yanıtta iletilerin 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ılan 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ğlamanın güvenlik ayarlarını tanımlar. Bu öğe türündedir BasicHttpsSecurityElement. |
<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
NetHttpsBinding, ileti göndermek için aktarım olarak HTTPS kullanır. Çift yönlü anlaşma ile kullanıldığında, Web Yuvaları kullanılır. NetHttpsBinding bir istek-yanıt sözleşmesiyle kullanıldığında, ikili kodlayıcı ile TemelHttpsBinding gibi davranır.
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 "Metin" ileti kodlaması ve UTF-8 metin kodlaması kullanır.
Örnek 1
Aşağıdaki örnek, https iletişimi ve birinci ve ikinci nesil Web hizmetleriyle en fazla birlikte çalışabilirlik sağlayan öğesinin kullanımını NetHttpBinding gösterir. Bağlama, istemci ve hizmet için 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="netHttpsBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpsBinding>
<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="Binary"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</netHttpsBinding>
</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="netHttpsBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpsBinding>
<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="Binary"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</netHttpsBinding>
</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.