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

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)

Explicitní implementace rozhraní

_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 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