Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 3.5
.NET Framework
Bibliothèque de classes ....
WebInvokeAttribute, classe
Bibliothèque de classes .NET Framework
WebInvokeAttribute, classe

Mise à jour : novembre 2007

Indique 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 Web.

Espace de noms :  System.ServiceModel.Web
Assembly :  System.ServiceModel.Web (dans System.ServiceModel.Web.dll)
Visual Basic (Déclaration)
<AttributeUsageAttribute(AttributeTargets.Method)> _
Public NotInheritable Class WebInvokeAttribute _
    Inherits Attribute _
    Implements IOperationBehavior, IWmiInstanceProvider
Visual Basic (Utilisation)
Dim instance As WebInvokeAttribute
C#
[AttributeUsageAttribute(AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, 
    IOperationBehavior, IWmiInstanceProvider
VisualC++
[AttributeUsageAttribute(AttributeTargets::Method)]
public ref class WebInvokeAttribute sealed : public Attribute, 
    IOperationBehavior, IWmiInstanceProvider
J#
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */
public final class WebInvokeAttribute extends Attribute implements IOperationBehavior, 
    IWmiInstanceProvider
JScript
public final class WebInvokeAttribute extends Attribute implements IOperationBehavior, IWmiInstanceProvider

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.

Bb515593.alert_note(fr-fr,VS.90).gifRemarque :

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.

Visual Basic
<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

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

System..::.Object
  System..::.Attribute
    System.ServiceModel.Web..::.WebInvokeAttribute
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2008 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation  |  Marques  |  Confidentialité
Page view tracker