WebInvokeAttribute Classe

Définition

Représente un attribut indiquant qu’une opération de service est logiquement une opération d’appel et qu’elle peut être appelée par le modèle de programmation WCF REST.Represents an attribute indicating that a service operation is logically an invoke operation and that it can be called by the WCF REST programming model.

public ref class WebInvokeAttribute sealed : Attribute, System::ServiceModel::Description::IOperationBehavior
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, System.ServiceModel.Description.IOperationBehavior
type WebInvokeAttribute = class
    inherit Attribute
    interface IOperationBehavior
Public NotInheritable Class WebInvokeAttribute
Inherits Attribute
Implements IOperationBehavior
Héritage
WebInvokeAttribute
Attributs
Implémente

Exemples

L'exemple suivant montre comment utiliser l'attribut WebInvokeAttribute.The following example shows how to use the WebInvokeAttribute attribute.

Notes

Comme la propriété Method n'est pas spécifiée dans le code suivant, toutes les opérations de service sont mappées à la méthode HTTP POST.Because the Method property is not specified in the following code, all service operations are mapped to the HTTP POST method.

[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

Remarques

L'attribut WebInvokeAttribute est appliqué à une opération de service en plus de OperationContractAttribute et associe l'opération à un UriTemplate ainsi qu'à un verbe de transport sous-jacent qui représente un appel (par exemple, HTTP POST, PUT ou DELETE).The WebInvokeAttribute attribute is applied to a service operation in addition to the OperationContractAttribute and associates the operation with a UriTemplate as well as an underlying transport verb that represents an invocation (for example, HTTP POST, PUT, or DELETE). L’attribut WebInvokeAttribute est un comportement d’opération passif (les méthodes IOperationBehavior ne font rien) qui ajoute des métadonnées à la description de l’opération.The WebInvokeAttribute attribute is a passive operation behavior (the IOperationBehavior methods do nothing) that adds metadata to the operation description. L’application de l’attribut WebInvokeAttribute à une opération de service n’a aucun effet, à moins qu’un comportement recherchant ces métadonnées dans la description de l’opération (tel que WebHttpBehavior) ne soit ajouté à la collection de comportements du service.Applying the WebInvokeAttribute attribute to a service operation has no effect unless a behavior that looks for this metadata in the operation description (such as WebHttpBehavior) is added to the service's behavior collection. Le WebInvokeAttribute détermine à quelle méthode HTTP répond une opération de service.The WebInvokeAttribute determines what HTTP method that a service operation responds to. Par défaut, toutes les méthodes auxquelles on a appliqué le WebInvokeAttribute répondent aux demandes POST.By default, all methods that have the WebInvokeAttribute applied respond to POST requests. La propriété Method vous permet de spécifier une méthode HTTP différente.The Method property allows you to specify a different HTTP method. Si vous souhaitez qu'une opération de service réponde à GET, utilisez à la place le WebGetAttribute.If you want a service operation to respond to GET, use the WebGetAttribute instead.

Constructeurs

WebInvokeAttribute()

Initialise une nouvelle instance de la classe WebInvokeAttribute.Initializes a new instance of the WebInvokeAttribute class.

Propriétés

BodyStyle

Obtient ou définit le style de corps des messages envoyés vers et depuis l’opération de service.Gets or sets the body style of the messages that are sent to and from the service operation.

IsBodyStyleSetExplicitly

Obtient la propriété IsBodyStyleSetExplicitly.Gets the IsBodyStyleSetExplicitly property.

IsRequestFormatSetExplicitly

Obtient la propriété IsRequestFormatSetExplicitly.Gets the IsRequestFormatSetExplicitly property.

IsResponseFormatSetExplicitly

Obtient la propriété IsResponseFormatSetExplicitly.Gets the IsResponseFormatSetExplicitly property.

Method

Obtient ou définit la méthode de protocole (par exemple, HTTP) à laquelle l’opération de service répond.Gets or sets the protocol (for example HTTP) method the service operation responds to.

RequestFormat

Obtient ou définit la propriété RequestFormat.Gets or sets the RequestFormat property.

ResponseFormat

Obtient ou définit la propriété ResponseFormat.Gets or sets the ResponseFormat property.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Hérité de Attribute)
UriTemplate

Modèle URI (Uniform Resource Identifier) de l'opération de service.The Uniform Resource Identifier (URI) template for the service operation.

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.Returns a value that indicates whether this instance is equal to a specified object.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.Returns the hash code for this instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.Provides access to properties and methods exposed by an object.

(Hérité de Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Implémente la méthode AddBindingParameters(OperationDescription, BindingParameterCollection).Implements the AddBindingParameters(OperationDescription, BindingParameterCollection) method.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Implémente la méthode ApplyClientBehavior(OperationDescription, ClientOperation).Implements the ApplyClientBehavior(OperationDescription, ClientOperation) method.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Implémente la méthode ApplyDispatchBehavior(OperationDescription, DispatchOperation).Implements the ApplyDispatchBehavior(OperationDescription, DispatchOperation) method.

IOperationBehavior.Validate(OperationDescription)

Implémente la méthode Validate(OperationDescription).Implements the Validate(OperationDescription) method.

IOperationContractAttributeProvider.GetOperationContractAttribute()
IWmiInstanceProvider.FillInstance(IWmiInstance)
IWmiInstanceProvider.GetInstanceType()

S’applique à