WebInvokeAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje atribut označující, že operace služby je logicky vyvolána operace a že ji lze volat programovacím modelem WCF REST.
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
- Dědičnost
- Atributy
- Implementuje
Příklady
Následující příklad ukazuje, jak použít WebInvokeAttribute atribut.
Poznámka
Vzhledem k tomu, že Method vlastnost není zadána v následujícím kódu, všechny operace služby jsou mapovány na metodu 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
Poznámky
Atribut WebInvokeAttribute se použije na operaci služby kromě OperationContractAttribute operace a přidruží ji k UriTemplate
podkladovému transportnímu příkazu, který představuje vyvolání (například HTTP POST, PUT nebo DELETE). Atribut WebInvokeAttribute je pasivní chování operace ( IOperationBehavior metody nic neprovádí), které přidává metadata do popisu operace. Použití atributu WebInvokeAttribute na operaci služby nemá žádný vliv, pokud se do kolekce chování služby nepřidá chování, které hledá tato metadata v popisu operace (například WebHttpBehavior). Určuje WebInvokeAttribute , na jakou metodu HTTP odpovídá operace služby. Ve výchozím nastavení všechny metody, které mají použitou WebInvokeAttribute odpověď na požadavky POST. Vlastnost Method umožňuje zadat jinou metodu HTTP. Pokud chcete, aby operace služby reagovala na get, použijte místo toho tuto WebGetAttribute operaci.
Konstruktory
WebInvokeAttribute() |
Inicializuje novou instanci WebInvokeAttribute třídy. |
Vlastnosti
BodyStyle |
Získá nebo nastaví základní styl zpráv odesílaných do a z operace služby. |
IsBodyStyleSetExplicitly |
IsBodyStyleSetExplicitly Získá vlastnost. |
IsRequestFormatSetExplicitly |
IsRequestFormatSetExplicitly Získá vlastnost. |
IsResponseFormatSetExplicitly |
IsResponseFormatSetExplicitly Získá vlastnost. |
Method |
Získá nebo nastaví protokol (například HTTP) metodu, na které operace služby reaguje. |
RequestFormat |
Získá nebo nastaví RequestFormat vlastnost. |
ResponseFormat |
Získá nebo nastaví ResponseFormat vlastnost. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
UriTemplate |
Šablona identifikátoru URI (Uniform Resource Identifier) pro operaci služby. |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou odvozené třídy. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |