DeliveryRequirementsAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает требования к функциям, которые должны поддерживаться привязками для реализации службы или клиента.
public ref class DeliveryRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IContractBehavior
public ref class DeliveryRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IContractBehavior, System::ServiceModel::Description::IContractBehaviorAttribute
public sealed class DeliveryRequirementsAttribute : Attribute, System.ServiceModel.Description.IContractBehavior
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface, AllowMultiple=true)]
public sealed class DeliveryRequirementsAttribute : Attribute, System.ServiceModel.Description.IContractBehavior, System.ServiceModel.Description.IContractBehaviorAttribute
type DeliveryRequirementsAttribute = class
inherit Attribute
interface IContractBehavior
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface, AllowMultiple=true)>]
type DeliveryRequirementsAttribute = class
inherit Attribute
interface IContractBehavior
interface IContractBehaviorAttribute
Public NotInheritable Class DeliveryRequirementsAttribute
Inherits Attribute
Implements IContractBehavior
Public NotInheritable Class DeliveryRequirementsAttribute
Inherits Attribute
Implements IContractBehavior, IContractBehaviorAttribute
- Наследование
- Атрибуты
- Реализации
Примеры
using System;
using System.ServiceModel;
[ServiceContract]
interface ICalculatorService
{
[OperationBehavior()]
int Add(int a, int b);
[OperationContract]
int Subtract(int a, int b);
}
[DeliveryRequirementsAttribute(
QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.NotAllowed,
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;
}
}
Imports System.ServiceModel
<ServiceContract()> _
Public Interface ICalculatorService
<OperationBehavior()> _
Function Add(ByVal a As Integer, ByVal b As Integer) As Integer
<OperationContract()> _
Function Subtract(ByVal a As Integer, ByVal b As Integer) As Integer
End Interface
<DeliveryRequirements( _
QueuedDeliveryRequirements:=QueuedDeliveryRequirementsMode.NotAllowed, _
RequireOrderedDelivery:=True _
)> _
Class CalculatorService
Public Function add(ByVal a As Integer, ByVal b As Integer) As Integer
Console.WriteLine("Add called")
Return a + b
End Function
Public Function Subtract(ByVal a As Integer, ByVal b As Integer) As Integer
Console.WriteLine("Subtract called.")
Return a - b
End Function
Public Function Multiply(ByVal a As Integer, ByVal b As Integer) As Integer
Return a * b
End Function
End Class
Комментарии
Используйте инструкцию DeliveryRequirementsAttribute Windows Communication Foundation (WCF) для подтверждения того, что привязка предоставляет функции, необходимые для реализации службы или клиента. DeliveryRequirementsAttribute Если атрибут обнаруживается, когда описание службы загружается из файла конфигурации приложения или создается программным способом в коде, WCF проверяет настроенную привязку и поддерживает все компоненты, которые указывает атрибут. Например, служба может требовать, чтобы привязки поддерживали организацию очереди. Использование DeliveryRequirementsAttribute позволяет WCF подтвердить соблюдение следующих требований:
свойство QueuedDeliveryRequirements задает требования к организации очереди, которые привязка должна удовлетворять;
свойство RequireOrderedDelivery указывает, должна ли привязка поддерживать упорядоченный обмен сообщениями;
свойство TargetContract указывает, к какому типу относятся требования.
Атрибут DeliveryRequirementsAttribute применен к классу, который может реализовать любое число интерфейсов контрактов служб. DeliveryRequirementsAttribute может применяться ко всем контрактам, которые реализуются классом, или только к одному из них. Этот атрибут может применяться для класса несколько раз.
Конструкторы
DeliveryRequirementsAttribute() |
Инициализирует новый экземпляр класса DeliveryRequirementsAttribute. |
Свойства
QueuedDeliveryRequirements |
Указывает, должна ли привязка для службы поддерживать контракты с формированием очереди. |
RequireOrderedDelivery |
Указывает, должна ли привязка поддерживать упорядоченные сообщения. |
TargetContract |
Возвращает или задает тип, для которого применяется атрибут. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |