Sdílet prostřednictvím


WebInvokeAttribute Třída

Definice

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
WebInvokeAttribute
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)

Explicitní implementace rozhraní

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Implementuje metodu AddBindingParameters(OperationDescription, BindingParameterCollection) .

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Implementuje metodu ApplyClientBehavior(OperationDescription, ClientOperation) .

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Implementuje metodu ApplyDispatchBehavior(OperationDescription, DispatchOperation) .

IOperationBehavior.Validate(OperationDescription)

Implementuje metodu Validate(OperationDescription) .

Platí pro