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:
Method Protože 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 u operace služby kromě OperationContractAttribute operace a přidruží operaci k příslušnému transportnímu UriTemplate příkazu, který představuje vyvolání (například HTTP POST, PUT nebo DELETE). Atribut WebInvokeAttribute je chování pasivní operace ( IOperationBehavior metody nedělají nic), 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 reaguje operace služby. Ve výchozím nastavení všechny metody, které použily 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
| Name | Description |
|---|---|
| WebInvokeAttribute() |
Inicializuje novou instanci WebInvokeAttribute třídy. |
Vlastnosti
| Name | Description |
|---|---|
| BodyStyle |
Získá nebo nastaví styl textu 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 URI (Uniform Resource Identifier) pro operaci služby. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (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 pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |