BasicHttpBinding Klasse

Definition

Stellt eine Bindung dar, die ein Windows Communication Foundation-Dienst (WCF) zum Konfigurieren und Verfügbarmachen von Endpunkten verwenden kann, die mit ASMX-basierten Webdiensten und -clients sowie mit anderen Diensten kommunizieren können, die mit WS-I Basic Profile 1.1 konform sind.Represents a binding that a Windows Communication Foundation (WCF) service can use to configure and expose endpoints that are able to communicate with ASMX-based Web services and clients and other services that conform to the WS-I Basic Profile 1.1.

public ref class BasicHttpBinding : System::ServiceModel::HttpBindingBase
public ref class BasicHttpBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public class BasicHttpBinding : System.ServiceModel.HttpBindingBase
public class BasicHttpBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type BasicHttpBinding = class
    inherit HttpBindingBase
type BasicHttpBinding = class
    inherit Binding
    interface IBindingRuntimePreferences
type BasicHttpBinding = class
    inherit HttpBindingBase
    interface IBindingRuntimePreferences
Public Class BasicHttpBinding
Inherits HttpBindingBase
Public Class BasicHttpBinding
Inherits Binding
Implements IBindingRuntimePreferences
Vererbung
BasicHttpBinding
Vererbung
BasicHttpBinding
Abgeleitet
Implementiert

Beispiele

Das folgende Beispiel veranschaulicht, wie die BasicHttpBinding in einer Anwendungskonfigurationsdatei konfiguriert wird.The following example shows how to configure the BasicHttpBinding in an application configuration file.

Im folgenden Beispiel wird veranschaulicht, wie ein BasicHttpBinding programmgesteuert konfiguriert wird.The following example shows how to programmatically configure BasicHttpBinding.

[ServiceContract(Namespace = "http://UE.ServiceModel.Samples")]
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);
}

public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        double result = n1 + n2;
        Console.WriteLine("Received Add({0},{1})", n1, n2);
        Console.WriteLine("Return: {0}", result);
        return result;
    }

    public double Subtract(double n1, double n2)
    {
        double result = n1 - n2;
        Console.WriteLine("Received Subtract({0},{1})", n1, n2);
        Console.WriteLine("Return: {0}", result);
        return result;
    }

    public double Multiply(double n1, double n2)
    {
        double result = n1 * n2;
        Console.WriteLine("Received Multiply({0},{1})", n1, n2);
        Console.WriteLine("Return: {0}", result);
        return result;
    }

    public double Divide(double n1, double n2)
    {
        double result = n1 / n2;
        Console.WriteLine("Received Divide({0},{1})", n1, n2);
        Console.WriteLine("Return: {0}", result);
        return result;
    }

    public static void Main()
    {
        BasicHttpBinding binding = new BasicHttpBinding();
        binding.Name = "binding1";
        binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
        binding.Security.Mode = BasicHttpSecurityMode.None;
        
        Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
        Uri address = new Uri("http://localhost:8000/servicemodelsamples/service/calc");

        // Create a ServiceHost for the CalculatorService type and provide the base address.
        ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
        
        serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);

        // Open the ServiceHostBase to create listeners and start listening for messages.
        serviceHost.Open();

        // The service can now be accessed.
        Console.WriteLine("The service is ready.");
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.WriteLine();
        Console.ReadLine();
    
        // Close the ServiceHostBase to shutdown the service.
        serviceHost.Close();
        
    }
}
   <ServiceContract(Namespace:="http://UE.ServiceModel.Samples")> _
   Public Interface ICalculator

       <OperationContract()> _
       Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
       <OperationContract()> _
       Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
       <OperationContract()> _
       Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
       <OperationContract()> _
       Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
   End Interface

   ' Service class which implements the service contract.
   ' Added code to write output to the console window
   Public Class CalculatorService
       Implements ICalculator

       Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Add

           Dim result As Double = n1 + n2
           Console.WriteLine("Received Add({0},{1})", n1, n2)
           Console.WriteLine("Return: {0}", result)
           Return result
       End Function

       Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Subtract

           Dim result As Double = n1 - n2
           Console.WriteLine("Received Subtract({0},{1})", n1, n2)
           Console.WriteLine("Return: {0}", result)
           Return result
       End Function

       Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Multiply

           Dim result As Double = n1 * n2
           Console.WriteLine("Received Multiply({0},{1})", n1, n2)
           Console.WriteLine("Return: {0}", result)
           Return result
       End Function

       Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Divide

           Dim result As Double = n1 / n2
           Console.WriteLine("Received Divide({0},{1})", n1, n2)
           Console.WriteLine("Return: {0}", result)
           Return result
       End Function

       Public Shared Sub Main()
           Dim binding As BasicHttpBinding = New BasicHttpBinding()
           binding.Name = "binding1"
           binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
           binding.Security.Mode = BasicHttpSecurityMode.None

           Dim baseAddress As Uri = New Uri("http://localhost:8000/servicemodelsamples/service")
           Dim address As Uri = New Uri("http://localhost:8000/servicemodelsamples/service/calc")

           ' Create a ServiceHost for the CalculatorService type and provide the base address.
           Using serviceHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)

               serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, address)

               ' Open the ServiceHost to create listeners and start listening for messages.
               serviceHost.Open()

               ' The service can now be accessed.
               Console.WriteLine("The service is ready.")
               Console.WriteLine("Press <ENTER> to terminate service.")
               Console.WriteLine()
               Console.ReadLine()

               ' Close the ServiceHost to shutdown the service.
               serviceHost.Close()
           End Using
       End Sub
   End Class

Hinweise

Die BasicHttpBinding verwendet HTTP als Transport zum Senden von SOAP 1.1-Nachrichten.The BasicHttpBinding uses HTTP as the transport for sending SOAP 1.1 messages. Ein Dienst kann diese Bindung zum Verfügbarmachen von mit WS-I BP 1.1 konformen Endpunkten verwenden, wie z. B. Endpunkte für ASMX-Clients.A service can use this binding to expose endpoints that conform to WS-I BP 1.1, such as those that ASMX clients access. Ebenso kann ein Client die BasicHttpBinding für die Kommunikation mit Diensten verwenden, die Endpunkte verfügbar machen, die WS-I BP 1,1 entsprechen, wie z. b. asmx-Webdienste oder Windows Communication Foundation (WCF)-Dienste, die mit dem BasicHttpBindingkonfiguriert sind.Similarly, a client can use the BasicHttpBinding to communicate with services exposing endpoints that conform to WS-I BP 1.1, such as ASMX Web services or Windows Communication Foundation (WCF) services configured with the BasicHttpBinding.

Sicherheit ist standardmäßig deaktiviert, kann jedoch aktiviert werden, indem der BasicHttpSecurityMode auf einen anderen Wert als None im BasicHttpBinding(BasicHttpSecurityMode)-Konstruktor festgelegt wird.Security is turned off by default, but can be added setting the BasicHttpSecurityMode to a value other than None in the BasicHttpBinding(BasicHttpSecurityMode) constructor. Standardmäßig wird "Text"-Nachrichtencodierung und UTF-8-Textcodierung verwendet.It uses a "Text" message encoding and UTF-8 text encoding by default.

Konstruktoren

BasicHttpBinding()

Initialisiert eine neue Instanz der Klasse BasicHttpBinding.Initializes a new instance of the BasicHttpBinding class.

BasicHttpBinding(BasicHttpSecurityMode)

Initialisiert eine neue Instanz der BasicHttpBinding-Klasse mit einem von der Bindung verwendeten Sicherheitstyp.Initializes a new instance of the BasicHttpBinding class with a specified type of security used by the binding.

BasicHttpBinding(String)

Initialisiert eine neue Instanz der BasicHttpBinding-Klasse mit einer durch ihren Konfigurationsnamen angegebenen Bindung.Initializes a new instance of the BasicHttpBinding class with a binding specified by its configuration name.

Eigenschaften

AllowCookies

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Client Cookies akzeptiert und bei zukünftigen Anfragen weiterleitet.Gets or sets a value that indicates whether the client accepts cookies and propagates them on future requests.

BypassProxyOnLocal

Ruft einen booleschen Wert ab, der angibt, ob der Proxyserver für lokale Adressen umgangen werden soll, oder legt ihn fest.Gets or sets a value that indicates whether to bypass the proxy server for local addresses.

CloseTimeout

Ruft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(Geerbt von Binding)
EnableHttpCookieContainer

Ruft einen Wert ab, der angibt, ob der HTTP-Cookiecontainer aktiviert ist, oder legt den Wert fest.Gets or sets a value that indicates whether HTTP cookie container is enabled.

EnvelopeVersion

Ruft die SOAP-Version ab, die für Nachrichten verwendet wird, die von dieser Bindung verarbeitet werden.Gets the version of SOAP that is used for messages that are processed by this binding.

HostNameComparisonMode

Ruft einen Wert ab, der angibt, ob der Hostname verwendet wird, um beim Abgleich des URI den Dienst zu erreichen, oder legt diesen fest.Gets or sets a value that indicates whether the hostname is used to reach the service when matching the URI.

MaxBufferPoolSize

Ruft die maximale Speicherkapazität in Byte ab, die vom Manager der Nachrichtenpuffer verwendet werden kann, die Nachrichten aus dem Kanal empfangen, oder legt diese fest.Gets or sets the maximum amount of memory, in bytes, that is allocated for use by the manager of the message buffers that receive messages from the channel.

MaxBufferSize

Ruft die maximale Größe in Byte für einen Puffer ab, der Nachrichten von einem Kanal empfängt.Gets or sets the maximum size, in bytes, for a buffer that receives messages from the channel.

MaxReceivedMessageSize

Ruft die maximale Nachrichtengröße in Byte ab, die in einem Kanal empfangen werden kann, der mit dieser Bindung konfiguriert wurde, oder legt diese fest.Gets or sets the maximum size, in bytes, for a message that can be received on a channel configured with this binding.

MessageEncoding

Ruft ab oder legt fest, ob MTOM oder Text verwendet wird, um SOAP-Nachrichten zu codieren.Gets or sets whether MTOM or Text is used to encode SOAP messages.

MessageVersion

Ruft die Nachrichtenversion ab, die von den Clients und Diensten verwendet wird, die mit der Bindung konfiguriert wurden.Gets the message version used by clients and services configured with the binding.

(Geerbt von Binding)
Name

Ruft den Namen der Bindung ab oder legt diesen fest.Gets or sets the name of the binding.

(Geerbt von Binding)
Namespace

Ruft den XML-Namespace einer Bindung ab oder legt diesen fest.Gets or sets the XML namespace of the binding.

(Geerbt von Binding)
OpenTimeout

Ruft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geöffnet wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(Geerbt von Binding)
ProxyAddress

Ruft die URI-Adresse des HTTP-Proxys ab oder legt sie fest.Gets or sets the URI address of the HTTP proxy.

ReaderQuotas

Ruft Beschränkungen der Komplexität von SOAP-Meldungen ab oder legt Beschränkungen fest, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert werden.Gets or sets constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding.

ReceiveTimeout

Ruft ein Zeitintervall ab oder legt ein Zeitintervall fest, während dessen eine Verbindung inaktiv bleiben kann und keine Anwendungsnachrichten empfangen werden, bevor sie verworfen werden.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(Geerbt von Binding)
Scheme

Ruft das URI-Transportschema für die Kanäle und die Listener ab, die mit dieser Bindung konfiguriert werden.Gets the URI transport scheme for the channels and listeners that are configured with this binding.

Security

Ruft den Sicherheitstyp ab, der mit dieser Bindung verwendet wird.Gets the type of security used with this binding.

SendTimeout

Ruft das Zeitintervall ab, das für einen Schreibvorgang eingerichtet ist, der abgeschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(Geerbt von Binding)
TextEncoding

Ruft die Zeichencodierung ab oder legt die Zeichencodierung fest, die für den Meldungstext verwendet wird.Gets or sets the character encoding that is used for the message text.

TransferMode

Ruft einen Wert ab, der angibt, ob Nachrichten gepuffert oder gestreamt gesendet werden, oder legt diesen fest.Gets or sets a value that indicates whether messages are sent buffered or streamed.

UseDefaultWebProxy

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der automatisch konfigurierte HTTP-Proxy des Systems bei Verfügbarkeit verwendet werden soll.Gets or sets a value that indicates whether the auto-configured HTTP proxy of the system should be used, if available.

Methoden

BuildChannelFactory<TChannel>(BindingParameterCollection)

Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

BuildChannelFactory<TChannel>(Object[])

Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einem Objektarray festgelegt werden.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

(Geerbt von Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Geerbt von Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

(Geerbt von Binding)
CanBuildChannelFactory<TChannel>(Object[])

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die von einem Objektarray festgelegten Anforderungen erfüllt.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

(Geerbt von Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

(Geerbt von Binding)
CanBuildChannelListener<TChannel>(Object[])

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die in einem Objektarray festgelegten Kriterien erfüllt.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

(Geerbt von Binding)
CreateBindingElements()

Erstellt eine geordnete Sammlung von Bindungselementen, die in der aktuellen Bindung enthalten sind, und gibt sie zurück.Creates and returns an ordered collection of binding elements contained in the current binding.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetProperty<T>(BindingParameterCollection)

Gibt ggf. ein angefordertes typisiertes Objekt von der entsprechenden Ebene im Bindungsstapel zurück.Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(Geerbt von Binding)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ShouldSerializeEnableHttpCookieContainer()

Gibt an, ob der HTTP-Cookiecontainer die Serialisierung aktivieren soll.Indicates whether the http cookie container should enable the serialization.

ShouldSerializeName()

Gibt einen Wert zurück, der angibt, ob der Name der Bindung serialisiert werden soll.Returns whether the name of the binding should be serialized.

(Geerbt von Binding)
ShouldSerializeNamespace()

Gibt einen Wert zurück, der angibt, ob der Namespace der Bindung serialisiert werden soll.Returns whether the namespace of the binding should be serialized.

(Geerbt von Binding)
ShouldSerializeReaderQuotas()

Gibt zurück, ob die für die Komplexität der SOAP-Nachrichtenstruktur geltenden Einschränkungswerte serialisiert werden sollen.Returns whether the constraint values placed on the complexity of SOAP message structure should be serialized.

ShouldSerializeSecurity()

Gibt zurück, ob Sicherheitseinstellungen serialisiert werden sollen, und zwar basierend darauf, ob die Serialisierung bereits erfolgt, beispielsweise auf der Nachrichten- oder Transportebene.Returns whether security settings should be serialized based upon whether serialization already occurs, for example at the message or transport level.

ShouldSerializeTextEncoding()

Gibt zurück, ob Einstellungen für die Textcodierung serialisiert werden sollen.Returns whether settings for text encoding should be serialized.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IBindingRuntimePreferences.ReceiveSynchronously

Ruft einen Wert ab, der angibt, ob eingehende Anforderungen synchron oder asynchron gehandhabt werden.Gets a value that indicates whether incoming requests are handled synchronously or asynchronously.

Gilt für: