Поделиться через


IBindingDeliveryCapabilities.AssuresOrderedDelivery Свойство

Определение

Возвращает значение, указывающее, может ли привязка поддерживать гарантии доставки сообщений в порядке их отправки.

public:
 property bool AssuresOrderedDelivery { bool get(); };
public bool AssuresOrderedDelivery { get; }
member this.AssuresOrderedDelivery : bool
Public ReadOnly Property AssuresOrderedDelivery As Boolean

Значение свойства

true Значение , если сообщения должны быть доставлены в том порядке, в котором они были отправлены; false, если сообщения не могут быть доставлены в этом порядке.

Примеры

В следующем примере требуется использовать 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;
  }
}

Комментарии

Значение этого AssuresOrderedDelivery свойства используется RequireOrderedDelivery при загрузке описания службы во время выполнения. Эта проверка выполняется, чтобы определить, соответствуют ли упорядоченные требования к доставке службы выбранным или созданным для службы привязкой.

Применяется к