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.
Bir Windows Communication Foundation (WCF) hizmetinin HTTP ü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 HTTP kullanılır.
<configuration>
<system.serviceModel>
<bindings>
<netHttpBinding>
Sözdizimi
<netHttpBinding>
<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>
</netHttpBinding>
Türü
Type
Öznitelikler ve Öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Attributes
| Özellik | Description |
|---|---|
allowCookies |
İstemcinin tanımlama bilgilerini kabul edip etmediğini ve bunları gelecekteki isteklerde 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 bu 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.Yerel adresi olan bir İnternet kaynağı 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 trueistemcilerin 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 buna 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'de 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 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 çıktıklarında hizmet tarafından iletileri 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 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ı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: 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 buna 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 useSystemWebProxytrue, 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 buna Zeroeşit olmalıdır. Varsayılan değer 00:10:00'dır. |
sendTimeout |
TimeSpan Gönderme işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalı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 boole değeri. Varsayılan değer: true. |
Alt Öğeler
| Öğe | Description |
|---|---|
| <güvenlik> | Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir BasicHttpSecurityElement. |
| <readerQuotas> | Bu bağlamayla 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 | Description |
|---|---|
| <Bağlama> | Bu öğe, standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor. |
Açıklamalar
NetHttpBinding, ileti göndermek için aktarım olarak HTTP kullanır. Çift yönlü anlaşma ile kullanıldığında, Web Yuvaları kullanılır. NetHttpBinding istek-yanıt sözleşmesiyle kullanıldığında, ikili kodlayıcı ile TemelHttpBinding gibi davranır.
Güvenlik varsayılan olarak kapalıdır, ancak güvenlik< alt öğesinin> mode özniteliğini dışında Nonebir değere ayarlayarak eklenebilir. Varsayılan olarak "Metin" ileti kodlaması ve UTF-8 metin kodlaması kullanır.
Örnek 1
Aşağıdaki örnekte, http iletişimi ve birinci ve ikinci nesil Web hizmetleriyle en yüksek birlikte çalışabilirlik sağlayan kullanımı NetHttpBinding 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, hizmet için aşağıdaki yapılandırma kodunda gösterildiği gibi öğesinin bindingConfiguration özniteliğini kullanarak <endpoint> 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="netHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpBinding>
<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>
</netHttpBinding>
</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, bindingConfiguration uç nokta adresinden ve adı bağlamadan kaldırılarak gerçekleştirilebilir.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="netHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpBinding>
<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>
</netHttpBinding>
</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çinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.