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 WCF REST.
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.
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.
[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). 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, à 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.
Constructeurs
WebInvokeAttribute() |
Initialise une nouvelle instance de la classe WebInvokeAttribute. |
Propriétés
BodyStyle |
Obtient ou définit le style de corps des messages envoyés vers et depuis l’opération de service. |
IsBodyStyleSetExplicitly |
Obtient la propriété IsBodyStyleSetExplicitly. |
IsRequestFormatSetExplicitly |
Obtient la propriété IsRequestFormatSetExplicitly. |
IsResponseFormatSetExplicitly |
Obtient la propriété IsResponseFormatSetExplicitly. |
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 propriété RequestFormat. |
ResponseFormat |
Obtient ou définit la propriété ResponseFormat. |
TypeId |
Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute. (Hérité de Attribute) |
UriTemplate |
Modèle URI (Uniform Resource Identifier) de l'opération de service. |
Méthodes
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 de cette instance. (Hérité de Attribute) |
GetType() |
Obtient le 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 pour la classe dérivée. (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é. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |