다음을 통해 공유


IBindingDeliveryCapabilities 인터페이스

정의

클라이언트 및 서비스에 필요한 기능을 설명하고 광고하기 위해 바인딩이 구현해야 하는 인터페이스를 정의합니다.

public interface class IBindingDeliveryCapabilities
public interface IBindingDeliveryCapabilities
type IBindingDeliveryCapabilities = interface
Public Interface IBindingDeliveryCapabilities

예제

다음 예제에서는 CalculatorService가 메시지를 순서대로 배달하는 WSHttpBinding을 사용해야 합니다. 신뢰할 수 있는 세션과 대기 중 배달은 이 바인딩에서 기본적으로 사용되지 않지만, 사용하도록 설정할 수 있습니다.

<!-- Here is the configuration for a CalculatorService using a WSHttpBinding with ordered message delivery required. -->  
<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
   <system.serviceModel>  
      <services>  
         <service   
             type="Microsoft.ServiceModel.Samples.CalculatorService">  
            <!-- Use base address provided by host and a WSHttpBinding named "Binding1" -->  
            <endpoint address=""  
                      binding="wsHttpBinding"  
                      bindingConfiguration="Binding1"   
                      contract="Microsoft.ServiceModel.Samples.ICalculator" />  
         </service>  
      </services>  

      <bindings>  
         <wsHttpBinding>   
            <binding name="Binding1">           
               <!-- The next element enables a ReliableSession and required ordered delivery-->  
      <reliableSession enabled="true" ordered="true"/>  
      </binding>  
         </wsHttpBinding>  
      </bindings>  

   </system.serviceModel>  
</configuration>  

// The CalculatorService configuration has enabled a reliable session  
// with ordered delivery set to true. This means that the binding  
// requirement for ordered delivery specified by the  
// BindingRequirementsAttribute on the CalculatorService class  
// implemented below will be satisfied by this WSHttpBinding.  

using System;  
using System.ServiceModel;  

[ServiceContract]  
interface ICalculatorService  
{  
  [OperationBehavior()]  
  int Add(int a, int b);    

  [OperationContract]  
  int Subtract(int a, int b);  
}  

[BindingRequirements(  
  QueuedDeliveryRequirements=RequirementsMode.Disallow,  
  RequireOrderedDelivery=true  
)]  
class CalculatorService: ICalculatorService  
{  
  public int Add(int a, int b)  
  {  
    Console.WriteLine("Add called.");  
    return a + b;   
  }  

  public int Subtract(int a, int b)  
  {  
    Console.WriteLine("Subtract called.");  
    return a - b;  
  }  

  public int Multiply(int a, int b)  
  {  
    return a * b;  
  }  
}  

설명

클라이언트 및 서비스에 필요한 기능을 바인딩에서 제공하도록 계약의 일부로 규정할 수 있는 경우 바인딩에서 IBindingDeliveryCapabilities 인터페이스를 구현해야 합니다.

속성

AssuresOrderedDelivery

바인딩에서 메시지를 보낸 순서대로 배달할 수 있는지 여부를 나타내는 값을 가져옵니다.

QueuedDelivery

바인딩이 대기 중 메시지 배달을 지원할 수 있는지 여부를 나타내는 값을 가져옵니다.

적용 대상