WebInvokeAttribute Klas

Definitie

Vertegenwoordigt een kenmerk dat aangeeft dat een servicebewerking logisch een aanroepbewerking is en dat deze kan worden aangeroepen door het WCF REST-programmeermodel.

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
Overname
WebInvokeAttribute
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u het WebInvokeAttribute kenmerk gebruikt.

Note

Omdat de Method eigenschap niet is opgegeven in de volgende code, worden alle servicebewerkingen toegewezen aan de HTTP POST-methode.

[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

Opmerkingen

Het WebInvokeAttribute kenmerk wordt toegepast op een servicebewerking naast de OperationContractAttribute bewerking en koppelt de bewerking aan een UriTemplate onderliggende transportopdracht die een aanroep vertegenwoordigt (bijvoorbeeld HTTP POST, PUT of DELETE). Het WebInvokeAttribute kenmerk is een passief bewerkingsgedrag (de IOperationBehavior methoden doen niets) die metagegevens toevoegt aan de beschrijving van de bewerking. Het toepassen van het WebInvokeAttribute kenmerk op een servicebewerking heeft geen effect, tenzij een gedrag dat naar deze metagegevens zoekt in de beschrijving van de bewerking (zoals WebHttpBehavior) wordt toegevoegd aan de gedragverzameling van de service. Hiermee WebInvokeAttribute bepaalt u op welke HTTP-methode een servicebewerking reageert. Standaard reageren alle methoden waarop de WebInvokeAttribute toegepaste post-aanvragen zijn toegepast. Met de Method eigenschap kunt u een andere HTTP-methode opgeven. Als u wilt dat een servicebewerking reageert op GET, gebruikt u in plaats daarvan de WebGetAttribute bewerking.

Constructors

Name Description
WebInvokeAttribute()

Initialiseert een nieuw exemplaar van de WebInvokeAttribute klasse.

Eigenschappen

Name Description
BodyStyle

Hiermee haalt u de hoofdtekststijl op van de berichten die naar en van de servicebewerking worden verzonden.

IsBodyStyleSetExplicitly

Hiermee haalt u de IsBodyStyleSetExplicitly eigenschap op.

IsRequestFormatSetExplicitly

Hiermee haalt u de IsRequestFormatSetExplicitly eigenschap op.

IsResponseFormatSetExplicitly

Hiermee haalt u de IsResponseFormatSetExplicitly eigenschap op.

Method

Hiermee haalt u de protocolmethode (bijvoorbeeld HTTP) op waarop de servicebewerking reageert.

RequestFormat

Hiermee haalt u de eigenschap op of stelt u deze RequestFormat in.

ResponseFormat

Hiermee haalt u de eigenschap op of stelt u deze ResponseFormat in.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)
UriTemplate

De URI-sjabloon (Uniform Resource Identifier) voor de servicebewerking.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Implementeert de AddBindingParameters(OperationDescription, BindingParameterCollection) methode.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Implementeert de ApplyClientBehavior(OperationDescription, ClientOperation) methode.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Implementeert de ApplyDispatchBehavior(OperationDescription, DispatchOperation) methode.

IOperationBehavior.Validate(OperationDescription)

Implementeert de Validate(OperationDescription) methode.

Van toepassing op