<netHttpsBinding>
Representerar en bindning som en WCF-tjänst (Windows Communication Foundation) kan använda för att konfigurera och exponera slutpunkter som kan kommunicera via HTTPS. När det används med ett duplex-kontrakt används Web Sockets, annars används HTTPS.
<Konfiguration>
<system.serviceModel>
<Bindningar>
<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>
Typ
Type
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | Beskrivning |
---|---|
allowCookies |
Ett booleskt värde som anger om klienten accepterar cookies och sprider dem på framtida begäranden. Standardvärdet är false .Du kan använda den här egenskapen när du interagerar med ASMX-webbtjänster som använder cookies. På så sätt kan du vara säker på att de cookies som returneras från servern automatiskt kopieras till alla framtida klientbegäranden för den tjänsten. |
bypassProxyOnLocal |
Ett booleskt värde som anger om du vill kringgå proxyservern för lokala adresser. Standardvärdet är false .En Internetresurs är lokal om den har en lokal adress. En lokal adress är en som finns på samma dator, det lokala LAN:et eller intranätet och identifieras syntaktiskt av bristen på en punkt (.) som i URI:erna http://webserver/ och http://localhost/ .Om du anger det här attributet avgör du om slutpunkter som konfigurerats med BasicHttpBinding använder proxyservern vid åtkomst till lokala resurser. Om det här attributet är true använder begäranden till lokala Internetresurser inte proxyservern. Använd värdnamnet (i stället för localhost) om du vill att klienter ska gå via en proxy när de pratar med tjänster på samma dator när det här attributet är inställt true på .När det här attributet är false görs alla Internetbegäranden via proxyservern. |
closeTimeout |
Ett TimeSpan värde som anger tidsintervallet för en stängningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00. |
hostNameComparisonMode |
Anger det HTTP-värdnamnsjämförelseläge som används för att parsa URI:er. Det här attributet är av typen HostNameComparisonMode, vilket anger om värdnamnet används för att nå tjänsten vid matchning på URI:n. Standardvärdet är StrongWildcard, som ignorerar värdnamnet i matchningen. |
maxBufferPoolSize |
Ett heltalsvärde som anger den maximala mängd minne som allokeras för användning av chefen för de meddelandebuffertar som tar emot meddelanden från kanalen. Standardvärdet är 524288 (0x80000) byte. Bufferthanteraren minimerar kostnaden för att använda buffertar med hjälp av en buffertpool. Buffertar krävs för att bearbeta meddelanden från tjänsten när de kommer ut ur kanalen. Om det inte finns tillräckligt med minne i buffertpoolen för att bearbeta meddelandebelastningen måste bufferthanteraren allokera ytterligare minne från CLR-heapen, vilket ökar skräpinsamlingens overhead. Omfattande allokering från CLR-skräphögen är en indikation på att buffertpoolens storlek är för liten och att prestanda kan förbättras med en större allokering genom att öka den gräns som anges av det här attributet. |
maxBufferSize |
Ett heltalsvärde som anger den maximala storleken i byte för en buffert som lagrar meddelanden medan de bearbetas för en slutpunkt som konfigurerats med den här bindningen. Standardvärdet är 65 536 byte. |
maxReceivedMessageSize |
Ett positivt heltal som definierar den maximala meddelandestorleken i byte, inklusive rubriker, för ett meddelande som kan tas emot på en kanal som konfigurerats med den här bindningen. Avsändaren får ett SOAP-fel om meddelandet är för stort för mottagaren. Mottagaren släpper meddelandet och skapar en post för händelsen i spårningsloggen. Standardvärdet är 65 536 byte. |
messageEncoding |
Definierar kodaren som används för att koda SOAP-meddelandet. Giltiga värden omfattar följande: - Text: Använd en textmeddelandekodare. - Mtom: Använd en MTOM-kodare (Message Transmission Organization Mechanism 1.0). Standardvärdet är Text. Det här attributet är av typen WSMessageEncoding. |
name |
En sträng som innehåller bindningens konfigurationsnamn. Det här värdet ska vara unikt eftersom det används som en identifiering för bindningen. Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster. |
openTimeout |
Ett TimeSpan värde som anger tidsintervallet för en öppen åtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00. |
proxyAddress |
En URI som innehåller adressen till HTTP-proxyn. Om useSystemWebProxy är inställt på true måste den här inställningen vara null . Standardvärdet är null . |
receiveTimeout |
Ett TimeSpan värde som anger tidsintervallet för en mottagningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:10:00. |
sendTimeout |
Ett TimeSpan värde som anger tidsintervallet för en sändningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00. |
textEncoding |
Anger teckenuppsättningens kodning som ska användas för att generera meddelanden på bindningen. Giltiga värden omfattar följande: - BigEndianUnicode: Unicode BigEndian-kodning. – Unicode: 16-bitars kodning. - UTF8: 8-bitars kodning Standardvärdet är UTF8. Det här attributet är av typen Encoding. |
transferMode |
Ett giltigt TransferMode värde som anger om meddelanden buffrats eller strömmats på en begäran eller ett svar. |
useDefaultWebProxy |
Ett booleskt värde som anger om den automatiskt konfigurerade HTTP-proxyn för systemet ska användas, om tillgängligt. Standardvärdet är true . |
Underordnade element
Element | Beskrivning |
---|---|
<Säkerhet> | Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen BasicHttpsSecurityElement. |
<readerQuotas> | Definierar begränsningarna för komplexiteten i SOAP-meddelanden som kan bearbetas av slutpunkter som konfigurerats med den här bindningen. Det här elementet är av typen XmlDictionaryReaderQuotasElement. |
Överordnade element
Element | Beskrivning |
---|---|
<Bindningar> | Det här elementet innehåller en samling standardbindningar och anpassade bindningar. |
Kommentarer
NetHttpsBinding använder HTTPS som transport för att skicka meddelanden. När det används med ett duplex-kontrakt används Web Sockets. När netHttpsBinding används med ett begäran-svar-kontrakt fungerar det som en BasicHttpsBinding med en binär kodare.
Säkerhet är inaktiverat som standard, men kan läggas till för att ställa in attributet läge för det< underordnade säkerhetselementet> till ett annat värde än None
. Den använder en textmeddelandekodning och UTF-8-textkodning som standard.
Exempel 1
I följande exempel visas användningen av NetHttpBinding som ger HTTPS-kommunikation och maximal samverkan med första och andra generationens webbtjänster. Bindningen anges i konfigurationsfilerna för klienten och tjänsten. Bindningstypen anges med elementets binding
<endpoint>
attribut. Om du vill konfigurera den grundläggande bindningen och ändra vissa av dess inställningar måste du definiera en bindningskonfiguration. Slutpunkten måste referera till bindningskonfigurationen efter namn med hjälp bindingConfiguration
av -elementets <endpoint>
attribut, enligt följande konfigurationskod för tjänsten.
<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>
Exempel 2
Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Funktionen i föregående exempel kan utföras genom att ta bort bindingConfiguration från slutpunktsadressen och namnet från bindningen.
<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>
Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster.