WSHttpBindingBase Klas

Definitie

Biedt de basisklasse met leden die gemeenschappelijk zijn voor de WSHttpBinding en de WSFederationHttpBinding.

public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding
public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type WSHttpBindingBase = class
    inherit Binding
type WSHttpBindingBase = class
    inherit Binding
    interface IBindingRuntimePreferences
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Implements IBindingRuntimePreferences
Overname
WSHttpBindingBase
Afgeleid
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u de functionaliteit van de WSHttpBindingBase klasse gebruikt met de afgeleide klassen en WSHttpBindingWSFederationHttpBinding.


// Define a service contract for the calculator.
[ServiceContract()]
public interface ICalculator
{
    [OperationContract(IsOneWay = false)]
    double Add(double n1, double n2);
    [OperationContract(IsOneWay = false)]
    double Subtract(double n1, double n2);
    [OperationContract(IsOneWay = false)]
    double Multiply(double n1, double n2);
    [OperationContract(IsOneWay = false)]
    double Divide(double n1, double n2);
}

// Service class which implements the service contract.
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        double result = n1 + n2;
        return result;
    }

    public double Subtract(double n1, double n2)
    {
        double result = n1 - n2;
        return result;
    }

    public double Multiply(double n1, double n2)
    {
        double result = n1 * n2;
        return result;
    }

    public double Divide(double n1, double n2)
    {
        double result = n1 / n2;
        return result;
    }

    // Create and configure bindings within this EXE console application.
    public static void Main()
    {
        // Create a WSHttpBinding
        WSHttpBinding binding1 = new WSHttpBinding();

    binding1.BypassProxyOnLocal =  true;

    EnvelopeVersion envelopeVersion =
    binding1.EnvelopeVersion;

    HostNameComparisonMode hostnameComparisonMode =
    binding1.HostNameComparisonMode;

    long maxBufferPoolSize =
        binding1.MaxBufferPoolSize;

    long maxReceivedMessageSize =
    binding1.MaxReceivedMessageSize;

    WSMessageEncoding messageEncoding =
    binding1.MessageEncoding;

    Uri proxyAddress =
        binding1.ProxyAddress;

    XmlDictionaryReaderQuotas readerQuotas =
    binding1.ReaderQuotas;

    OptionalReliableSession reliableSession =
    binding1.ReliableSession;

    string scheme = binding1.Scheme;

    Encoding textEncoding =
        binding1.TextEncoding;

    bool transactionFlow =
        binding1.TransactionFlow;

    bool useDefaultWebProxy =
        binding1.UseDefaultWebProxy;

    BindingElementCollection bindingElements =
            binding1.CreateBindingElements();

        // Set WSHttpBinding binding property values
        binding1.Name = "Binding1";
        binding1.HostNameComparisonMode =
           HostNameComparisonMode.StrongWildcard;
        binding1.Security.Mode = SecurityMode.Message;
        binding1.ReliableSession.Enabled = false;
        binding1.TransactionFlow = false;
       // binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;

        // Enumerate properties of the binding1.
        Console.WriteLine("WSHttpBinding binding1 properties:");
        Console.WriteLine("      - name:\t\t\t{0}", binding1.Name);
        Console.WriteLine("      - hostname comparison:\t{0}", binding1.HostNameComparisonMode);
        Console.WriteLine("      - security mode:\t\t{0}", binding1.Security.Mode);
        Console.WriteLine("      - RM enabled:\t\t{0}", binding1.ReliableSession.Enabled);
        Console.WriteLine("      - transaction flow:\t{0}", binding1.TransactionFlow);
        //Console.WriteLine("      - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
        Console.WriteLine("      - transport scheme:\t{0}", binding1.Scheme);
        Console.WriteLine("      - max message size:\t{0}", binding1.MaxReceivedMessageSize);
        Console.WriteLine("      - default text encoding:\t{0}", binding1.TextEncoding);
        Console.WriteLine();

        // Create a WSFederationBinding with a message security mode
        // and with a reliable session enabled.
        WSFederationHttpBinding binding3 = new WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, true);

        // Enumerate properties of the binding2.
        Console.WriteLine("WSFederationBinding binding3 properties:");
        Console.WriteLine("      - security mode:\t\t{0}", binding3.Security.Mode);
        Console.WriteLine("      - RM enabled:\t\t{0}", binding3.ReliableSession.Enabled);
        Console.WriteLine();
        Console.WriteLine("Press <ENTER> to terminate.");
        Console.ReadLine();
    }

static void SnippetReceiveSynchronously ()
{
    WSHttpBinding binding = new WSHttpBinding();
    IBindingRuntimePreferences s  =
                       binding.GetProperty<IBindingRuntimePreferences>
                       (new BindingParameterCollection());
    bool receiveSynchronously = s.ReceiveSynchronously;
}
}

' Define a service contract for the calculator.
<ServiceContract()> _
Public Interface ICalculator
    <OperationContract(IsOneWay := False)> _
    Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract(IsOneWay := False)> _
    Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract(IsOneWay := False)> _
    Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract(IsOneWay := False)> _
    Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface

' Service class which implements the service contract.
Public Class CalculatorService
    Implements ICalculator
    Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
        Dim result = n1 + n2
        Return result
    End Function

    Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Subtract
        Dim result = n1 - n2
        Return result
    End Function

    Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Multiply
        Dim result = n1 * n2
        Return result
    End Function

    Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Divide
        Dim result = n1 / n2
        Return result
    End Function

    ' Create and configure bindings within this EXE console application.
    Public Shared Sub Main()
        ' Create a WSHttpBinding
        Dim binding1 As New WSHttpBinding()

    binding1.BypassProxyOnLocal = True

    Dim envelopeVersion As EnvelopeVersion = binding1.EnvelopeVersion

    Dim hostnameComparisonMode As HostNameComparisonMode = binding1.HostNameComparisonMode

        Dim maxBufferPoolSize = binding1.MaxBufferPoolSize


        Dim maxReceivedMessageSize = binding1.MaxReceivedMessageSize

    Dim messageEncoding As WSMessageEncoding = binding1.MessageEncoding

    Dim proxyAddress As Uri = binding1.ProxyAddress

    Dim readerQuotas As XmlDictionaryReaderQuotas = binding1.ReaderQuotas

    Dim reliableSession As OptionalReliableSession = binding1.ReliableSession

        Dim scheme = binding1.Scheme

        Dim textEncoding = binding1.TextEncoding

        Dim transactionFlow = binding1.TransactionFlow

        Dim useDefaultWebProxy = binding1.UseDefaultWebProxy

    Dim bindingElements As BindingElementCollection = binding1.CreateBindingElements()

        ' Set WSHttpBinding binding property values
        binding1.Name = "Binding1"
        binding1.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
        binding1.Security.Mode = SecurityMode.Message
        binding1.ReliableSession.Enabled = False
        binding1.TransactionFlow = False
       ' binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;

        ' Enumerate properties of the binding1.
        Console.WriteLine("WSHttpBinding binding1 properties:")
        Console.WriteLine("      - name:" & Constants.vbTab + Constants.vbTab + Constants.vbTab & "{0}", binding1.Name)
        Console.WriteLine("      - hostname comparison:" & Constants.vbTab & "{0}", binding1.HostNameComparisonMode)
        Console.WriteLine("      - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.Security.Mode)
        Console.WriteLine("      - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.ReliableSession.Enabled)
        Console.WriteLine("      - transaction flow:" & Constants.vbTab & "{0}", binding1.TransactionFlow)
        'Console.WriteLine("      - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
        Console.WriteLine("      - transport scheme:" & Constants.vbTab & "{0}", binding1.Scheme)
        Console.WriteLine("      - max message size:" & Constants.vbTab & "{0}", binding1.MaxReceivedMessageSize)
        Console.WriteLine("      - default text encoding:" & Constants.vbTab & "{0}", binding1.TextEncoding)
        Console.WriteLine()

        ' Create a WSFederationBinding with a message security mode
        ' and with a reliable session enabled.
        Dim binding3 As New WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, True)

        ' Enumerate properties of the binding2.
        Console.WriteLine("WSFederationBinding binding3 properties:")
        Console.WriteLine("      - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.Security.Mode)
        Console.WriteLine("      - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.ReliableSession.Enabled)
        Console.WriteLine()
        Console.WriteLine("Press <ENTER> to terminate.")
        Console.ReadLine()

    End Sub

Private Shared Sub SnippetReceiveSynchronously()
    Dim binding As New WSHttpBinding()
    Dim s As IBindingRuntimePreferences = binding.GetProperty(Of IBindingRuntimePreferences) (New BindingParameterCollection())
        Dim receiveSynchronously = s.ReceiveSynchronously

End Sub

End Class

Opmerkingen

Het WSHttpBindingBase biedt enkele basisfunctionaliteit voor de bindingen die worden gebruikt voor het configureren van beveiligde, betrouwbare en interoperabele webservices, zoals die zijn geïmplementeerd door de WSHttpBinding niet-duplex-servicecontracten, en meer in het bijzonder voor de veilige en interoperabele WSFederationHttpBinding die het WS-Federation-protocol ondersteunt.

Standaard wordt er een runtimestack gegenereerd die gebruikmaakt van WS-Security voor berichtbeveiliging en -verificatie, HTTP voor berichtbezorging en codering van tekst-/XML-berichten. Het kan worden geconfigureerd om ook WS-ReliableMessaging te gebruiken voor betrouwbaarheid.

Het gebruik van WS-ReliableMessaging kan worden geconfigureerd met behulp van de optionele reliableSessionEnabled parameter.

Constructors

Name Description
WSHttpBindingBase()

Initialiseert een nieuw exemplaar van de WSHttpBindingBase klasse.

WSHttpBindingBase(Boolean)

Initialiseert een nieuw exemplaar van de WSHttpBindingBase klasse met een waarde die aangeeft of een betrouwbare sessie is ingeschakeld.

Eigenschappen

Name Description
BypassProxyOnLocal

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de proxyserver voor lokale adressen moet worden overgeslagen.

CloseTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden gesloten voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
EnvelopeVersion

Hiermee haalt u de versie van SOAP op die wordt gebruikt voor berichten die door deze binding worden verwerkt.

HostNameComparisonMode

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de hostnaam wordt gebruikt om de service te bereiken wanneer deze overeenkomt met de URI.

MaxBufferPoolSize

Hiermee haalt of stelt u de maximale hoeveelheid toegewezen geheugen in bytes in voor de bufferbeheerder die de buffers beheert die vereist zijn voor eindpunten met behulp van deze binding.

MaxReceivedMessageSize

Hiermee wordt de maximale grootte, in bytes, opgehaald of ingesteld voor een bericht dat door de binding kan worden verwerkt.

MessageEncoding

Hiermee haalt u op of stelt u in of MTOM of Text/XML wordt gebruikt om SOAP-berichten te coderen.

MessageVersion

Hiermee haalt u de berichtversie op die wordt gebruikt door clients en services die zijn geconfigureerd met de binding.

(Overgenomen van Binding)
Name

Hiermee haalt u de naam van de binding op of stelt u deze in.

(Overgenomen van Binding)
Namespace

Hiermee haalt u de XML-naamruimte van de binding op of stelt u deze in.

(Overgenomen van Binding)
OpenTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden geopend voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
ProxyAddress

Hiermee haalt u het URI-adres van de HTTP-proxy op of stelt u dit in.

ReaderQuotas

Hiermee worden beperkingen voor de complexiteit van SOAP-berichten opgehaald of ingesteld die kunnen worden verwerkt door eindpunten die met deze binding zijn geconfigureerd.

ReceiveTimeout

Hiermee wordt het tijdsinterval opgehaald of ingesteld dat een verbinding inactief kan blijven, terwijl er geen toepassingsberichten worden ontvangen voordat deze wordt verwijderd.

(Overgenomen van Binding)
ReliableSession

Hiermee haalt u een object op dat handige toegang biedt tot de eigenschappen van een betrouwbaar sessiebindingselement dat beschikbaar is wanneer u een van de door het systeem geleverde bindingen gebruikt.

Scheme

Hiermee haalt u het URI-transportschema op voor de kanalen en listeners die met deze binding zijn geconfigureerd.

SendTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een schrijfbewerking die moet worden voltooid voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
TextEncoding

Hiermee wordt de tekencodering opgehaald of ingesteld die wordt gebruikt voor de berichttekst.

TransactionFlow

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of deze binding ondersteuning moet bieden voor stromende WS-Transactions.

UseDefaultWebProxy

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de automatisch geconfigureerde HTTP-proxy van het systeem moet worden gebruikt, indien beschikbaar.

Methoden

Name Description
BuildChannelFactory<TChannel>(BindingParameterCollection)

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelFactory<TChannel>(Object[])

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de vereisten die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de criteria die zijn opgegeven in een matrix met objecten.

(Overgenomen van Binding)
CreateBindingElements()

Retourneert een geordende verzameling bindingselementen in de huidige binding.

CreateMessageSecurity()

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, wordt de SecurityBindingElement waarde geretourneerd van de huidige binding.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetProperty<T>(BindingParameterCollection)

Retourneert een getypt object dat, indien aanwezig, is aangevraagd vanuit de juiste laag in de bindingsstack.

(Overgenomen van Binding)
GetTransport()

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, retourneert u het transportbindingselement van de huidige binding.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ShouldSerializeName()

Retourneert of de naam van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeNamespace()

Retourneert of de naamruimte van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeReaderQuotas()

Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReaderQuotas standaardwaarde en moet worden geserialiseerd.

ShouldSerializeReliableSession()

Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReliableSession standaardwaarde en moet worden geserialiseerd.

ShouldSerializeTextEncoding()

Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de TextEncoding standaardwaarde en moet worden geserialiseerd.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IBindingRuntimePreferences.ReceiveSynchronously

Hiermee wordt een waarde opgehaald die aangeeft of binnenkomende aanvragen synchroon of asynchroon worden verwerkt.

Van toepassing op