Mise à jour : novembre 2007
Indique qu'une opération de service est logiquement une opération de récupération 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 WebGetAttribute _
Inherits Attribute _
Implements IOperationBehavior, IWmiInstanceProvider
Visual Basic (Utilisation)
Dim instance As WebGetAttribute
[AttributeUsageAttribute(AttributeTargets.Method)]
public sealed class WebGetAttribute : Attribute,
IOperationBehavior, IWmiInstanceProvider
[AttributeUsageAttribute(AttributeTargets::Method)]
public ref class WebGetAttribute sealed : public Attribute,
IOperationBehavior, IWmiInstanceProvider
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */
public final class WebGetAttribute extends Attribute implements IOperationBehavior,
IWmiInstanceProvider
public final class WebGetAttribute extends Attribute implements IOperationBehavior, IWmiInstanceProvider
L'attribut WebGetAttribute est appliqué à une opération de service en plus de OperationContractAttribute et associe l'opération avec un UriTemplate ainsi que le verbe Get du protocole HTTP. L'association avec le verbe GET de HTTP signifie que l'opération est utilisée pour récupérer des informations du service. L'attribut WebGetAttribute 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 WebGetAttribute à une opération de service n'a aucun effet, à moins qu'un comportement qui recherche ces métadonnées dans la description de l'opération (tel que WebHttpBehavior) ne soit ajouté à la collection de comportements du service.
Les opérations de service avec l'attribut WebGetAttribute appliqué doivent être des opérations de récupération logiques. La méthode HTTP GET est associée à toutes les opérations marquées avec l'attribut WebGetAttribute.
L'exemple suivant montre comment utiliser l'attribut WebGetAttribute.
<ServiceContract()> _
Public Interface ICalculator
<OperationContract()> _
<WebGet()> _
Function Add(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebGet(UriTemplate:="Sub?x={x}&y={y}")> _
Function Subtract(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebGet(UriTemplate:="Mult?x={x}&y={y}", BodyStyle:=WebMessageBodyStyle.Bare)> _
Function Multiply(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebGet(UriTemplate:="Div?x={x}&y={y}", RequestFormat:=WebMessageFormat.Xml)> _
Function Divide(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebGet(ResponseFormat:=WebMessageFormat.Json)> _
Function Modulo(ByVal x As Long, ByVal y As Long) As Long
End Interface
[ServiceContract]
public interface ICalculator
{
[OperationContract]
[WebGet]
long Add(long x, long y);
[OperationContract]
[WebGet(UriTemplate = "Sub?x={x}&y={y}")]
long Subtract(long x, long y);
[OperationContract]
[WebGet(UriTemplate = "Mult?x={x}&y={y}", BodyStyle = WebMessageBodyStyle.Bare)]
long Multiply(long x, long y);
[OperationContract]
[WebGet(UriTemplate = "Div?x={x}&y={y}", RequestFormat = WebMessageFormat.Xml)]
long Divide(long x, long y);
[OperationContract]
[WebGet(ResponseFormat= WebMessageFormat.Json)]
long Mod(long x, long y);
}
System..::.Object
System..::.Attribute
System.ServiceModel.Web..::.WebGetAttribute
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
Référence