다음을 통해 공유


BasicHttpBinding 클래스

정의

WCF(Windows Communication Foundation) 서비스가 ASMX 기반 웹 서비스 및 클라이언트, 그리고 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
Public Class BasicHttpBinding
Inherits HttpBindingBase
Public Class BasicHttpBinding
Inherits Binding
Implements IBindingRuntimePreferences
상속
BasicHttpBinding
상속
BasicHttpBinding
파생
구현

예제

다음 예제에서는 애플리케이션 구성 파일에서 BasicHttpBinding을 구성하는 방법을 보여 줍니다.

다음 예제에서는 프로그래밍 방식으로 를 구성하는 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

설명

BasicHttpBinding SOAP 1.1 메시지를 보내기 위한 전송으로 HTTP를 사용합니다. 서비스는 이 바인딩을 사용하여 ASMX 클라이언트가 액세스하는 것과 같이 WS-I BP 1.1을 준수하는 엔드포인트를 노출할 수 있습니다. 마찬가지로 클라이언트는 를 사용하여 BasicHttpBinding 로 구성된 BasicHttpBindingASMX 웹 서비스 또는 WCF(Windows Communication Foundation) 서비스와 같이 WS-I BP 1.1을 준수하는 엔드포인트를 노출하는 서비스와 통신할 수 있습니다.

보안은 기본적으로 꺼져 있지만 를 생성자가 아닌 NoneBasicHttpBinding(BasicHttpSecurityMode) 값으로 설정 BasicHttpSecurityMode 하여 추가할 수 있습니다. 기본적으로 "텍스트" 메시지 인코딩과 UTF-8 텍스트 인코딩을 사용합니다.

생성자

BasicHttpBinding()

BasicHttpBinding 클래스의 새 인스턴스를 초기화합니다.

BasicHttpBinding(BasicHttpSecurityMode)

바인딩에서 사용하는 지정된 보안 형식을 사용하여 BasicHttpBinding 클래스의 새 인스턴스를 초기화합니다.

BasicHttpBinding(String)

구성 이름으로 지정된 바인딩을 사용하여 BasicHttpBinding 클래스의 새 인스턴스를 초기화합니다.

속성

AllowCookies

클라이언트가 쿠키를 허용하고 이후 요청에서 이 쿠키를 전파하는지 여부를 나타내는 값을 가져오거나 설정합니다.

AllowCookies

클라이언트가 쿠키를 허용하고 이후 요청에서 이 쿠키를 전파하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
BypassProxyOnLocal

프록시 서버를 우회하고 로컬 주소를 대신 사용할지 여부를 나타내는 값을 가져오거나 설정합니다.

BypassProxyOnLocal

프록시 서버를 우회하고 로컬 주소를 대신 사용할지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
CloseTimeout

전송 중 예외가 발생하기 전에 연결을 끊기 위해 제공되는 시간 간격을 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
EnableHttpCookieContainer
사용되지 않음.

HTTP 쿠키 컨테이너가 사용되는지 여부를 나타내는 값을 가져오거나 설정합니다.

EnvelopeVersion

이 바인딩에서 처리한 메시지에 사용되는 SOAP 버전을 가져옵니다.

EnvelopeVersion

이 바인딩에서 처리한 메시지에 사용되는 SOAP 버전을 가져옵니다.

(다음에서 상속됨 HttpBindingBase)
HostNameComparisonMode

URI 비교 시 서비스에 액세스하는 데 호스트 이름이 사용되는지 여부를 나타내는 값을 가져오거나 설정합니다.

HostNameComparisonMode

URI 비교 시 서비스에 액세스하는 데 호스트 이름이 사용되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
MaxBufferPoolSize

채널로부터 메시지를 수신하는 메시지 버퍼 관리자가 사용하도록 할당된 최대 메모리(바이트)를 가져오거나 설정합니다.

MaxBufferPoolSize

채널로부터 메시지를 수신하는 메시지 버퍼 관리자가 사용하도록 할당된 최대 메모리(바이트)를 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
MaxBufferSize

채널로부터 메시지를 수신하는 버퍼의 최대 크기(바이트)를 가져오거나 설정합니다.

MaxBufferSize

채널로부터 메시지를 수신하는 버퍼의 최대 크기(바이트)를 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
MaxReceivedMessageSize

이 바인딩으로 구성된 채널에서 수신할 수 있는 최대 메시지 크기(바이트)를 가져오거나 설정합니다.

MaxReceivedMessageSize

이 바인딩으로 구성된 채널에서 수신할 수 있는 최대 메시지 크기(바이트)를 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
MessageEncoding

SOAP 메시지 인코딩에 MTOM이 사용되는지 아니면 텍스트가 사용되는지를 가져오거나 설정합니다.

MessageVersion

바인딩을 사용하여 구성된 클라이언트 및 서비스에서 사용하는 메시지 버전을 가져옵니다.

(다음에서 상속됨 Binding)
Name

바인딩의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
Namespace

바인딩의 XML 네임스페이스를 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
OpenTimeout

전송 중에 예외가 발생하기 전에 연결을 설정하기 위해 제공되는 시간 간격을 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
ProxyAddress

HTTP 프록시의 URI 주소를 가져오거나 설정합니다.

ProxyAddress

HTTP 프록시의 URI 주소를 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
ReaderQuotas

이 바인딩으로 구성된 엔드포인트에서 처리할 수 있는 SOAP 메시지의 복잡성에 대한 제약 조건을 가져오거나 설정합니다.

ReaderQuotas

이 바인딩으로 구성된 엔드포인트에서 처리할 수 있는 SOAP 메시지의 복잡성에 대한 제약 조건을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
ReceiveTimeout

연결이 끊어지기 전에 애플리케이션 메시지가 수신되지 않는 비활성 상태로 유지될 수 있는 시간 간격을 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
Scheme

이 바인딩으로 구성되는 채널과 수신기의 URI 전송 체계를 가져옵니다.

Scheme

이 바인딩으로 구성되는 채널과 수신기의 URI 전송 체계를 가져옵니다.

(다음에서 상속됨 HttpBindingBase)
Security

이 바인딩과 함께 사용되는 보안 형식을 가져옵니다.

SendTimeout

전송 중 예외가 발생하기 전에 쓰기 작업을 완료하기 위해 제공되는 시간 간격을 가져오거나 설정합니다.

(다음에서 상속됨 Binding)
TextEncoding

메시지 텍스트에 사용되는 문자 인코딩을 가져오거나 설정합니다.

TextEncoding

메시지 텍스트에 사용되는 문자 인코딩을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
TransferMode

메시지를 버퍼링 방식으로 보내는지 아니면 스트리밍 방식으로 보내는지를 나타내는 값을 가져오거나 설정합니다.

TransferMode

메시지를 버퍼링 방식으로 보내는지 아니면 스트리밍 방식으로 보내는지를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)
UseDefaultWebProxy

시스템의 자동 구성된 HTTP 프록시가 있는 경우 이를 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.

UseDefaultWebProxy

시스템의 자동 구성된 HTTP 프록시가 있는 경우 이를 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 HttpBindingBase)

메서드

BuildChannelFactory<TChannel>(BindingParameterCollection)

지정된 유형의 채널을 만들고 바인딩 매개 변수 컬렉션에서 지정된 기능을 충족하는 채널 팩터리 스택을 클라이언트에 생성합니다.

BuildChannelFactory<TChannel>(BindingParameterCollection)

지정된 유형의 채널을 만들고 바인딩 매개 변수 컬렉션에서 지정된 기능을 충족하는 채널 팩터리 스택을 클라이언트에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelFactory<TChannel>(Object[])

지정된 유형의 채널을 만들고 개체 배열에서 지정된 기능을 충족하는 채널 팩터리 스택을 클라이언트에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

지정된 유형의 채널을 허용하고 바인딩 매개 변수 컬렉션에서 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Object[])

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, Object[])

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

지정된 유형의 채널을 허용하고 지정된 기능을 충족하는 채널 수신기를 서비스에 생성합니다.

(다음에서 상속됨 Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

현재 바인딩이 지정된 바인딩 매개 변수 컬렉션을 충족하는 채널 팩터리 스택을 클라이언트에 생성할 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Binding)
CanBuildChannelFactory<TChannel>(Object[])

현재 바인딩이 개체 배열에서 지정된 요구 사항을 충족하는 채널 팩터리 스택을 클라이언트에 생성할 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

현재 바인딩이 지정된 바인딩 매개 변수 컬렉션을 충족하는 채널 수신기 스택을 서비스에 생성할 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Binding)
CanBuildChannelListener<TChannel>(Object[])

현재 바인딩이 개체 배열에 지정된 기준을 충족하는 채널 수신기 스택을 서비스에 생성할 수 있는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Binding)
CreateBindingElements()

현재 바인딩에 포함되어 있는 순서가 지정된 바인딩 요소 컬렉션을 만들고 반환합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetProperty<T>(BindingParameterCollection)

요청한 형식화된 개체가 있으면 바인딩 스택의 해당 계층에서 반환합니다.

(다음에서 상속됨 Binding)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ShouldSerializeEnableHttpCookieContainer()

http 쿠키 컨테이너가 serialization을 활성화해야 하는지 알려줍니다.

ShouldSerializeName()

바인딩 이름을 serialize해야 하는지 여부를 반환합니다.

(다음에서 상속됨 Binding)
ShouldSerializeNamespace()

바인딩 네임스페이스를 serialize해야 하는지 여부를 반환합니다.

(다음에서 상속됨 Binding)
ShouldSerializeReaderQuotas()

SOAP 메시지 구조의 복잡성에 대해 적용된 제약 조건 값을 serialize해야 하는지 여부를 반환합니다.

ShouldSerializeReaderQuotas()

SOAP 메시지 구조의 복잡성에 대해 적용된 제약 조건 값을 serialize해야 하는지 여부를 반환합니다.

(다음에서 상속됨 HttpBindingBase)
ShouldSerializeSecurity()

메시지 또는 전송 수준 등에서 serialization이 이미 발생했는지 여부에 따라 보안 설정을 serialize해야 하는지 여부를 반환합니다.

ShouldSerializeTextEncoding()

텍스트 인코딩에 대한 설정을 serialize해야 하는지 여부를 반환합니다.

ShouldSerializeTextEncoding()

텍스트 인코딩에 대한 설정을 serialize해야 하는지 여부를 반환합니다.

(다음에서 상속됨 HttpBindingBase)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IBindingRuntimePreferences.ReceiveSynchronously

들어오는 요청이 동기적으로 처리되는지 또는 비동기적으로 처리되는지를 나타내는 값을 가져옵니다.

IBindingRuntimePreferences.ReceiveSynchronously

들어오는 요청이 동기적으로 처리되는지 또는 비동기적으로 처리되는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 HttpBindingBase)

적용 대상