Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

WebInvokeAttribute classe

 

Date de publication : novembre 2016

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 le WCF modèle de programmation REST.

Espace de noms:   System.ServiceModel.Web
Assembly:  System.ServiceModel.Web (dans System.ServiceModel.Web.dll)

System.Object
  System.Attribute
    System.ServiceModel.Web.WebInvokeAttribute

[AttributeUsageAttribute(AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, IOperationBehavior

NomDescription
System_CAPS_pubmethodWebInvokeAttribute()

Initialise une nouvelle instance de la classe WebGetAttribute.

NomDescription
System_CAPS_pubpropertyBodyStyle

Obtient et définit le style de corps des messages envoyés vers et depuis l'opération de service.

System_CAPS_pubpropertyIsBodyStyleSetExplicitly

Obtient la propriété IsBodyStyleSetExplicitly.

System_CAPS_pubpropertyIsRequestFormatSetExplicitly

Obtient la propriété IsRequestFormatSetExplicitly.

System_CAPS_pubpropertyIsResponseFormatSetExplicitly

Obtient la propriété IsResponseFormatSetExplicitly.

System_CAPS_pubpropertyMethod

Obtient et définit la méthode de protocole (par exemple, HTTP) à laquelle l'opération de service répond.

System_CAPS_pubpropertyRequestFormat

Obtient et définit la propriété RequestFormat.

System_CAPS_pubpropertyResponseFormat

Obtient et définit la propriété ResponseFormat.

System_CAPS_pubpropertyTypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.(Hérité de Attribute.)

System_CAPS_pubpropertyUriTemplate

Modèle URI (Uniform Resource Identifier) de l'opération de service.

NomDescription
System_CAPS_pubmethodEquals(Object)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Retourne une valeur qui indique si cette instance est égale à un objet spécifié.(Hérité de Attribute.)

System_CAPS_pubmethodGetHashCode()

Retourne le code de hachage de cette instance.(Hérité de Attribute.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodIsDefaultAttribute()

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.(Hérité de Attribute.)

System_CAPS_pubmethodMatch(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance équivaut à un objet spécifié.(Hérité de Attribute.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.Validate(OperationDescription)

Implémente la méthode Validate(OperationDescription).

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). 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. 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. Le WebInvokeAttribute détermine à quelle méthode HTTP répond une opération de service. Par défaut, toutes les méthodes auxquelles on a appliqué le WebInvokeAttribute répondent aux demandes POST. La propriété Method vous permet de spécifier une méthode HTTP différente. Si vous souhaitez qu'une opération de service réponde à GET, utilisez à la place le WebGetAttribute.

L'exemple suivant montre comment utiliser l'attribut WebInvokeAttribute.

System_CAPS_noteRemarque

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.

[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);
}

.NET Framework
Disponible depuis 3.5
Silverlight
Disponible depuis 4.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: