WebInvokeAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет атрибут, указывающий, что операция службы логически является операцией вызова и может быть вызвана моделью программирования REST платформы WCF.
public ref class WebInvokeAttribute sealed : Attribute, System::ServiceModel::Description::IOperationBehavior
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, System.ServiceModel.Description.IOperationBehavior
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type WebInvokeAttribute = class
inherit Attribute
interface IOperationBehavior
Public NotInheritable Class WebInvokeAttribute
Inherits Attribute
Implements IOperationBehavior
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере показано использование атрибута WebInvokeAttribute.
Примечание
Поскольку свойство Method в следующем коде не задано, все операции службы сопоставляются с методом HTTP POST.
[ServiceContract]
public interface ICalculator2
{
[OperationContract]
[WebInvoke]
long Add(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "Sub?x={x}&y={y}")]
long Subtract(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "Mult?x={x}&y={y}", BodyStyle = WebMessageBodyStyle.Bare)]
long Multiply(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "Div?x={x}&y={y}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat=WebMessageFormat.Xml)]
long Divide(long x, long y);
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "Mod?x={x}&y={y}")]
long Mod(long x, long y);
}
<ServiceContract()> _
Public Interface ICalculator2
<OperationContract()> _
<WebInvoke()> _
Function Add(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="Sub?x={x}&y={y}")> _
Function Subtract(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="Mult?x={x}&y={y}", BodyStyle:=WebMessageBodyStyle.Bare)> _
Function Multiply(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="Div?x={x}&y={y}", BodyStyle:=WebMessageBodyStyle.Bare, RequestFormat:=WebMessageFormat.Xml, ResponseFormat:=WebMessageFormat.Xml)> _
Function Divide(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(Method:="POST", UriTemplate:="Mod?x={x}&y={y}")> _
Function Modulo(ByVal x As Long, ByVal y As Long) As Long
End Interface
Комментарии
Атрибут WebInvokeAttribute применяется к операции службы в дополнение к OperationContractAttribute и связывает операцию с UriTemplate
так же, как и с основной командой транспорта, представляющей вызов (например, HTTP POST, PUT или DELETE). Атрибут WebInvokeAttribute — это пассивное поведение операции ( IOperationBehavior методы не делают ничего), которое добавляет метаданные в описание операции. Применение атрибута WebInvokeAttribute к операции службы не имеет последствий, если в коллекцию поведения службы не добавлено поведение, обусловливающее поиск метаданных в описании операции (например, WebHttpBehavior). WebInvokeAttribute определяет, на какой метод HTTP реагирует операция службы. По умолчанию все методы, к которым применен атрибут WebInvokeAttribute, реагируют на запросы POST. Свойство Method позволяет указать другой метод HTTP. Если необходимо, чтобы операция службы отвечала на метод GET, используйте атрибут WebGetAttribute.
Конструкторы
WebInvokeAttribute() |
Инициализирует новый экземпляр класса WebInvokeAttribute. |
Свойства
BodyStyle |
Получает или задает стиль текста сообщений, отправляемых в операцию службы или из нее. |
IsBodyStyleSetExplicitly |
Возвращает свойство IsBodyStyleSetExplicitly. |
IsRequestFormatSetExplicitly |
Возвращает свойство IsRequestFormatSetExplicitly. |
IsResponseFormatSetExplicitly |
Возвращает свойство IsResponseFormatSetExplicitly. |
Method |
Получает или задает метод протокола (например, HTTP), на который отвечает операция службы. |
RequestFormat |
Возвращает или задает свойство RequestFormat. |
ResponseFormat |
Возвращает или задает свойство ResponseFormat. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
UriTemplate |
Шаблон универсального идентификатора ресурса (URI) для операции службы. |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |