Freigeben über


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.

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.

Im folgenden Beispiel wird veranschaulicht, wie ein BasicHttpBinding programmgesteuert konfiguriert wird.

[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. 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. Ebenso kann ein Client die BasicHttpBinding Kommunikation mit Diensten verwenden, die Endpunkte verfügbar machen, die WS-I BP 1.1 entsprechen, z. B. ASMX-Webdienste oder Windows Communication Foundation (WCF)-Dienste, die mit den BasicHttpBindingkonfigurierten WS-I BP 1.1-Diensten konfiguriert sind.

Sicherheit ist standardmäßig deaktiviert, kann jedoch aktiviert werden, indem der BasicHttpSecurityMode auf einen anderen Wert als None im BasicHttpBinding(BasicHttpSecurityMode)-Konstruktor festgelegt wird. Standardmäßig wird "Text"-Nachrichtencodierung und UTF-8-Textcodierung verwendet.

Konstruktoren

BasicHttpBinding()

Initialisiert eine neue Instanz der BasicHttpBinding-Klasse.

BasicHttpBinding(BasicHttpSecurityMode)

Initialisiert eine neue Instanz der BasicHttpBinding-Klasse mit einem von der Bindung verwendeten Sicherheitstyp.

BasicHttpBinding(String)

Initialisiert eine neue Instanz der BasicHttpBinding-Klasse mit einer durch ihren Konfigurationsnamen angegebenen Bindung.

Eigenschaften

AllowCookies

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Client Cookies akzeptiert und bei zukünftigen Anfragen weiterleitet.

AllowCookies

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Client Cookies akzeptiert und bei zukünftigen Anfragen weiterleitet.

(Geerbt von HttpBindingBase)
BypassProxyOnLocal

Ruft einen booleschen Wert ab, der angibt, ob der Proxyserver für lokale Adressen umgangen werden soll, oder legt ihn fest.

BypassProxyOnLocal

Ruft einen booleschen Wert ab, der angibt, ob der Proxyserver für lokale Adressen umgangen werden soll, oder legt ihn fest.

(Geerbt von HttpBindingBase)
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.

(Geerbt von Binding)
EnableHttpCookieContainer
Veraltet.

Ruft einen Wert ab, der angibt, ob der HTTP-Cookiecontainer aktiviert ist, oder legt den Wert fest.

EnvelopeVersion

Ruft die SOAP-Version ab, die für Nachrichten verwendet wird, die von dieser Bindung verarbeitet werden.

EnvelopeVersion

Ruft die SOAP-Version ab, die für Nachrichten verwendet wird, die von dieser Bindung verarbeitet werden.

(Geerbt von HttpBindingBase)
HostNameComparisonMode

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Hostname zum Erreichen des Diensts bei übereinstimmendem URI verwendet werden soll.

HostNameComparisonMode

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Hostname zum Erreichen des Diensts bei übereinstimmendem URI verwendet werden soll.

(Geerbt von HttpBindingBase)
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.

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.

(Geerbt von HttpBindingBase)
MaxBufferSize

Ruft die maximale Größe in Byte für einen Puffer ab, der Nachrichten von einem Kanal empfängt.

MaxBufferSize

Ruft die maximale Größe in Byte für einen Puffer ab, der Nachrichten von einem Kanal empfängt.

(Geerbt von HttpBindingBase)
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.

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.

(Geerbt von HttpBindingBase)
MessageEncoding

Ruft ab oder legt fest, ob MTOM oder Text verwendet wird, um SOAP-Nachrichten zu codieren.

MessageVersion

Ruft die Nachrichtenversion ab, die von den Clients und Diensten verwendet wird, die mit der Bindung konfiguriert wurden.

(Geerbt von Binding)
Name

Ruft den Namen der Bindung ab oder legt diesen fest.

(Geerbt von Binding)
Namespace

Ruft den XML-Namespace einer Bindung ab oder legt diesen fest.

(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.

(Geerbt von Binding)
ProxyAddress

Ruft die URI-Adresse des HTTP-Proxys ab oder legt sie fest.

ProxyAddress

Ruft die URI-Adresse des HTTP-Proxys ab oder legt sie fest.

(Geerbt von HttpBindingBase)
ReaderQuotas

Ruft Beschränkungen der Komplexität von SOAP-Meldungen ab, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert werden, oder legt die Beschränkungen fest.

ReaderQuotas

Ruft die Beschränkungen der Komplexität von SOAP-Nachrichten ab oder legt Beschränkungen fest, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert werden.

(Geerbt von HttpBindingBase)
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.

(Geerbt von Binding)
Scheme

Ruft das URI-Transportschema für die Kanäle und die Listener ab, die mit dieser Bindung konfiguriert werden.

Scheme

Ruft das URI-Transportschema für die Kanäle und die Listener ab, die mit dieser Bindung konfiguriert werden.

(Geerbt von HttpBindingBase)
Security

Ruft den Sicherheitstyp ab, der mit dieser Bindung verwendet wird.

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.

(Geerbt von Binding)
TextEncoding

Ruft die Zeichencodierung ab oder legt die Zeichencodierung fest, die für den Meldungstext verwendet wird.

TextEncoding

Ruft die Zeichencodierung ab oder legt die Zeichencodierung fest, die für den Meldungstext verwendet wird.

(Geerbt von HttpBindingBase)
TransferMode

Ruft einen Wert ab, der angibt, ob Nachrichten gepuffert oder gestreamt gesendet werden, oder legt diesen Wert fest.

TransferMode

Ruft einen Wert ab, der angibt, ob Nachrichten gepuffert oder gestreamt gesendet werden, oder legt diesen Wert fest.

(Geerbt von HttpBindingBase)
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.

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.

(Geerbt von HttpBindingBase)

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.

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.

(Geerbt von Binding)
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.

(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.

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

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(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.

(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.

(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.

(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.

(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.

(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.

(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.

(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.

(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.

(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.

(Geerbt von Binding)
CreateBindingElements()

Erstellt eine geordnete Sammlung von Bindungselementen, die in der aktuellen Bindung enthalten sind, und gibt sie zurück.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

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

Gibt ggf. ein angefordertes typisiertes Objekt von der entsprechenden Ebene im Bindungsstapel zurück.

(Geerbt von Binding)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ShouldSerializeEnableHttpCookieContainer()

Gibt an, ob der HTTP-Cookiecontainer die Serialisierung aktivieren soll.

ShouldSerializeName()

Gibt einen Wert zurück, der angibt, ob der Name der Bindung serialisiert werden soll.

(Geerbt von Binding)
ShouldSerializeNamespace()

Gibt einen Wert zurück, der angibt, ob der Namespace der Bindung serialisiert werden soll.

(Geerbt von Binding)
ShouldSerializeReaderQuotas()

Gibt zurück, ob die für die Komplexität der SOAP-Nachrichtenstruktur geltenden Einschränkungswerte serialisiert werden sollen.

ShouldSerializeReaderQuotas()

Gibt zurück, ob die für die Komplexität der SOAP-Nachrichtenstruktur geltenden Einschränkungswerte serialisiert werden sollen.

(Geerbt von HttpBindingBase)
ShouldSerializeSecurity()

Gibt zurück, ob Sicherheitseinstellungen serialisiert werden sollen, und zwar basierend darauf, ob die Serialisierung bereits erfolgt, beispielsweise auf der Nachrichten- oder Transportebene.

ShouldSerializeTextEncoding()

Gibt zurück, ob Einstellungen für die Textcodierung serialisiert werden sollen.

ShouldSerializeTextEncoding()

Gibt zurück, ob Einstellungen für die Textcodierung serialisiert werden sollen.

(Geerbt von HttpBindingBase)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IBindingRuntimePreferences.ReceiveSynchronously

Ruft einen Wert ab, der angibt, ob eingehende Anforderungen synchron oder asynchron gehandhabt werden.

IBindingRuntimePreferences.ReceiveSynchronously

Ruft einen Wert ab, der angibt, ob eingehende Anforderungen synchron oder asynchron gehandhabt werden.

(Geerbt von HttpBindingBase)

Gilt für