Nyelv

WebInvokeAttribute Osztály

Definíció

Egy attribútumot jelöl, amely azt jelzi, hogy a szolgáltatásművelet logikailag meghívási művelet, és hogy a WCF REST programozási modell meghívhatja.

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
Öröklődés
WebInvokeAttribute
Attribútumok
Megvalósítás

Példák

Az alábbi példa az attribútum használatát WebInvokeAttribute mutatja be.

Note

Mivel a Method tulajdonság nincs megadva a következő kódban, az összes szolgáltatásművelet a HTTP POST metódushoz van leképezve.

[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

Megjegyzések

Az WebInvokeAttribute attribútumot egy szolgáltatásműveletre alkalmazza a rendszer a OperationContractAttribute művelet mellett, és társítja a műveletet egy UriTemplate olyan mögöttes átviteli igével, amely egy meghívást jelöl (például HTTP POST, PUT vagy DELETE). Az WebInvokeAttribute attribútum egy passzív műveleti viselkedés (a IOperationBehavior metódusok nem tesznek semmit), amely metaadatokat ad hozzá a művelet leírásához. Az WebInvokeAttribute attribútum szolgáltatásműveletre való alkalmazása csak akkor lép érvénybe, ha a szolgáltatás viselkedésgyűjteményéhez hozzáad egy olyan viselkedést, amely ezt a metaadatokat keresi a művelet leírásában (például WebHttpBehavior) . Ez WebInvokeAttribute határozza meg, hogy egy szolgáltatásművelet milyen HTTP-metódusra válaszol. Alapértelmezés szerint az alkalmazott metódusok válaszolnak a WebInvokeAttribute POST-kérelmekre. A Method tulajdonság lehetővé teszi egy másik HTTP-metódus megadását. Ha azt szeretné, hogy egy szolgáltatásművelet válaszoljon a GET-nek, használja helyette a parancsot WebGetAttribute .

Konstruktorok

Név Description
WebInvokeAttribute()

Inicializálja a WebInvokeAttribute osztály új példányát.

Tulajdonságok

Név Description
BodyStyle

Lekéri vagy beállítja a szolgáltatásműveletbe küldött és onnan küldött üzenetek törzsstílusát.

IsBodyStyleSetExplicitly

Lekéri a tulajdonságot IsBodyStyleSetExplicitly .

IsRequestFormatSetExplicitly

Lekéri a tulajdonságot IsRequestFormatSetExplicitly .

IsResponseFormatSetExplicitly

Lekéri a tulajdonságot IsResponseFormatSetExplicitly .

Method

Lekéri vagy beállítja azt a protokollmetódust (például HTTP), a amelyekre a szolgáltatásművelet válaszol.

RequestFormat

Lekéri vagy beállítja a tulajdonságot RequestFormat .

ResponseFormat

Lekéri vagy beállítja a tulajdonságot ResponseFormat .

TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)
UriTemplate

A szolgáltatásművelet egységes erőforrás-azonosító (URI) sablonja.

Metódusok

Név Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Név Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Implementálja a metódust AddBindingParameters(OperationDescription, BindingParameterCollection) .

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Implementálja a metódust ApplyClientBehavior(OperationDescription, ClientOperation) .

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Implementálja a metódust ApplyDispatchBehavior(OperationDescription, DispatchOperation) .

IOperationBehavior.Validate(OperationDescription)

Implementálja a metódust Validate(OperationDescription) .

A következőre érvényes: