WebInvokeAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje atrybut wskazujący, że operacja usługi jest logicznie operacją wywołania i że może być wywoływana przez model programowania 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
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak używać atrybutu WebInvokeAttribute .
Uwaga
Method Ponieważ właściwość nie jest określona w poniższym kodzie, wszystkie operacje usługi są mapowane na metodę 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
Uwagi
Atrybut WebInvokeAttribute jest stosowany do operacji usługi oprócz OperationContractAttribute operacji i kojarzy operację z elementem a UriTemplate
także bazowym czasownikiem transportu, który reprezentuje wywołanie (na przykład HTTP POST, PUT lub DELETE). Atrybut WebInvokeAttribute jest zachowaniem operacji pasywnej ( IOperationBehavior metody nic nie robią), które dodaje metadane do opisu operacji. Zastosowanie atrybutu WebInvokeAttribute do operacji usługi nie ma wpływu, chyba że zachowanie wyszukujące te metadane w opisie operacji (na przykład WebHttpBehavior) jest dodawane do kolekcji zachowań usługi. Określa WebInvokeAttribute metodę HTTP, na którą odpowiada operacja usługi. Domyślnie wszystkie metody, które mają WebInvokeAttribute zastosowane odpowiedzi na żądania POST. Właściwość Method umożliwia określenie innej metody HTTP. Jeśli chcesz, aby operacja usługi odpowiadała na polecenie GET, użyj polecenia WebGetAttribute zamiast tego.
Konstruktory
WebInvokeAttribute() |
Inicjuje nowe wystąpienie klasy WebInvokeAttribute. |
Właściwości
BodyStyle |
Pobiera lub ustawia styl treści komunikatów wysyłanych do i z operacji usługi. |
IsBodyStyleSetExplicitly |
IsBodyStyleSetExplicitly Pobiera właściwość . |
IsRequestFormatSetExplicitly |
IsRequestFormatSetExplicitly Pobiera właściwość . |
IsResponseFormatSetExplicitly |
IsResponseFormatSetExplicitly Pobiera właściwość . |
Method |
Pobiera lub ustawia metodę protokołu (na przykład HTTP), na która odpowiada operacja usługi. |
RequestFormat |
Pobiera lub ustawia RequestFormat właściwość. |
ResponseFormat |
Pobiera lub ustawia ResponseFormat właściwość. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (Odziedziczone po Attribute) |
UriTemplate |
Szablon Uniform Resource Identifier (URI) dla operacji usługi. |
Metody
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
IsDefaultAttribute() |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |