WebInvokeAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een kenmerk dat aangeeft dat een servicebewerking logisch een aanroepbewerking is en dat deze kan worden aangeroepen door het WCF REST-programmeermodel.
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
- Overname
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u het WebInvokeAttribute kenmerk gebruikt.
Note
Omdat de Method eigenschap niet is opgegeven in de volgende code, worden alle servicebewerkingen toegewezen aan de HTTP POST-methode.
[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
Opmerkingen
Het WebInvokeAttribute kenmerk wordt toegepast op een servicebewerking naast de OperationContractAttribute bewerking en koppelt de bewerking aan een UriTemplate onderliggende transportopdracht die een aanroep vertegenwoordigt (bijvoorbeeld HTTP POST, PUT of DELETE). Het WebInvokeAttribute kenmerk is een passief bewerkingsgedrag (de IOperationBehavior methoden doen niets) die metagegevens toevoegt aan de beschrijving van de bewerking. Het toepassen van het WebInvokeAttribute kenmerk op een servicebewerking heeft geen effect, tenzij een gedrag dat naar deze metagegevens zoekt in de beschrijving van de bewerking (zoals WebHttpBehavior) wordt toegevoegd aan de gedragverzameling van de service. Hiermee WebInvokeAttribute bepaalt u op welke HTTP-methode een servicebewerking reageert. Standaard reageren alle methoden waarop de WebInvokeAttribute toegepaste post-aanvragen zijn toegepast. Met de Method eigenschap kunt u een andere HTTP-methode opgeven. Als u wilt dat een servicebewerking reageert op GET, gebruikt u in plaats daarvan de WebGetAttribute bewerking.
Constructors
| Name | Description |
|---|---|
| WebInvokeAttribute() |
Initialiseert een nieuw exemplaar van de WebInvokeAttribute klasse. |
Eigenschappen
| Name | Description |
|---|---|
| BodyStyle |
Hiermee haalt u de hoofdtekststijl op van de berichten die naar en van de servicebewerking worden verzonden. |
| IsBodyStyleSetExplicitly |
Hiermee haalt u de IsBodyStyleSetExplicitly eigenschap op. |
| IsRequestFormatSetExplicitly |
Hiermee haalt u de IsRequestFormatSetExplicitly eigenschap op. |
| IsResponseFormatSetExplicitly |
Hiermee haalt u de IsResponseFormatSetExplicitly eigenschap op. |
| Method |
Hiermee haalt u de protocolmethode (bijvoorbeeld HTTP) op waarop de servicebewerking reageert. |
| RequestFormat |
Hiermee haalt u de eigenschap op of stelt u deze RequestFormat in. |
| ResponseFormat |
Hiermee haalt u de eigenschap op of stelt u deze ResponseFormat in. |
| TypeId |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id. (Overgenomen van Attribute) |
| UriTemplate |
De URI-sjabloon (Uniform Resource Identifier) voor de servicebewerking. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| GetHashCode() |
Retourneert de hash-code voor dit exemplaar. (Overgenomen van Attribute) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IsDefaultAttribute() |
Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse. (Overgenomen van Attribute) |
| Match(Object) |
Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |