IBindingDeliveryCapabilities Interface
Definição
Define a interface cujas associações devem ser implementadas para descrever e anunciar os recursos de que os clientes e os serviços podem precisar.Defines the interface that bindings must implement to describe and advertise the capabilities that clients and services may require.
public interface class IBindingDeliveryCapabilities
public interface IBindingDeliveryCapabilities
type IBindingDeliveryCapabilities = interface
Public Interface IBindingDeliveryCapabilities
Exemplos
O exemplo a seguir requer que o CalculatorService use um WSHttpBinding com entrega de mensagem ordenada.The following sample requires that CalculatorService must use a WSHttpBinding with ordered message delivery. As sessões confiáveis e a entrega enfileirada não são usadas por padrão com essa associação, mas podem ser habilitadas.Reliable sessions and queued delivery are not used by default with this binding, but can be enabled.
<!-- 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;
}
}
Comentários
A IBindingDeliveryCapabilities interface deve ser implementada por uma associação se os clientes e serviços forem capazes de estipular, como parte de seu contrato, que os recursos necessários são fornecidos pela associação.The IBindingDeliveryCapabilities interface must be implemented by a binding if clients and services are to be able to stipulate, as part of their contract, that the features they require are provided by the binding.
Propriedades
| AssuresOrderedDelivery |
Obtém um valor que indica se a associação pode dar suporte a garantias para a entrega de mensagens na ordem em que foram enviadas.Gets a value that indicates whether the binding can support assurances for the delivery of messages in the order they were sent. |
| QueuedDelivery |
Obtém um valor que indica se a associação pode dar suporte à entrega em fila das mensagens.Gets a value that indicates whether the binding can support the queued delivery of messages. |