WebInvokeAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 REST WCF.
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
- Héritage
- Attributs
- Implémente
Exemples
L’exemple suivant montre comment utiliser l’attribut WebInvokeAttribute .
Note
Étant donné que la Method propriété 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);
}
<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 des OperationContractAttribute opérations et associe l’opération à un UriTemplate 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 IOperationBehavior méthodes 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, sauf si un comportement qui recherche ces métadonnées dans la description de l’opération (par exemple WebHttpBehavior) est ajouté à la collection de comportements du service. Détermine WebInvokeAttribute la méthode HTTP à laquelle une opération de service répond. Par défaut, toutes les méthodes qui ont appliqué WebInvokeAttribute répondent aux requêtes POST. La Method propriété vous permet de spécifier une autre méthode HTTP. Si vous souhaitez qu’une opération de service réponde à GET, utilisez la commande à la WebGetAttribute place.
Constructeurs
| Nom | Description |
|---|---|
| WebInvokeAttribute() |
Initialise une nouvelle instance de la classe WebInvokeAttribute. |
Propriétés
| Nom | Description |
|---|---|
| BodyStyle |
Obtient ou définit le style de corps des messages envoyés à et à partir de l’opération de service. |
| IsBodyStyleSetExplicitly |
Obtient la IsBodyStyleSetExplicitly propriété. |
| IsRequestFormatSetExplicitly |
Obtient la IsRequestFormatSetExplicitly propriété. |
| IsResponseFormatSetExplicitly |
Obtient la IsResponseFormatSetExplicitly propriété. |
| Method |
Obtient ou définit la méthode de protocole (par exemple HTTP) à laquelle l’opération de service répond. |
| RequestFormat |
Obtient ou définit la RequestFormat propriété. |
| ResponseFormat |
Obtient ou définit la ResponseFormat propriété. |
| TypeId |
En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute. (Hérité de Attribute) |
| UriTemplate |
Modèle URI (Uniform Resource Identifier) pour l’opération de service. |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| GetHashCode() |
Retourne le code de hachage pour cette instance. (Hérité de Attribute) |
| GetType() |
Obtient la Type de l’instance actuelle. (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 de la classe dérivée. (Hérité de Attribute) |
| Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |