WebInvokeAttribute Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar ett attribut som anger att en tjänståtgärd logiskt sett är en anropande åtgärd och att den kan anropas av WCF REST-programmeringsmodellen.
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
- Arv
- Attribut
- Implementeringar
Exempel
I följande exempel visas hur du använder attributet WebInvokeAttribute .
Note
Eftersom egenskapen Method inte anges i följande kod mappas alla tjänståtgärder till HTTP POST-metoden.
[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
Kommentarer
Attributet WebInvokeAttribute tillämpas på en tjänståtgärd utöver OperationContractAttribute och associerar åtgärden med ett UriTemplate samt ett underliggande transportverb som representerar ett anrop (till exempel HTTP POST, PUT eller DELETE). Attributet WebInvokeAttribute är ett passivt åtgärdsbeteende ( IOperationBehavior metoderna gör ingenting) som lägger till metadata i åtgärdsbeskrivningen.
WebInvokeAttribute Att tillämpa attributet på en tjänståtgärd har ingen effekt om inte ett beteende som söker efter dessa metadata i åtgärdsbeskrivningen (till exempel WebHttpBehavior) läggs till i tjänstens beteendesamling. Avgör WebInvokeAttribute vilken HTTP-metod som en tjänståtgärd svarar på. Som standard svarar alla metoder som har tillämpats WebInvokeAttribute på POST-begäranden. Med Method egenskapen kan du ange en annan HTTP-metod. Om du vill att en tjänståtgärd ska svara på GET använder du i WebGetAttribute stället.
Konstruktorer
| Name | Description |
|---|---|
| WebInvokeAttribute() |
Initierar en ny instans av WebInvokeAttribute klassen. |
Egenskaper
| Name | Description |
|---|---|
| BodyStyle |
Hämtar eller anger brödtextformatet för de meddelanden som skickas till och från tjänståtgärden. |
| IsBodyStyleSetExplicitly |
Hämtar egenskapen IsBodyStyleSetExplicitly . |
| IsRequestFormatSetExplicitly |
Hämtar egenskapen IsRequestFormatSetExplicitly . |
| IsResponseFormatSetExplicitly |
Hämtar egenskapen IsResponseFormatSetExplicitly . |
| Method |
Hämtar eller anger den protokollmetod (till exempel HTTP) som tjänståtgärden svarar på. |
| RequestFormat |
Hämtar eller anger egenskapen RequestFormat . |
| ResponseFormat |
Hämtar eller anger egenskapen ResponseFormat . |
| TypeId |
När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute. (Ärvd från Attribute) |
| UriTemplate |
URI-mallen (Uniform Resource Identifier) för tjänståtgärden. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt. (Ärvd från Attribute) |
| GetHashCode() |
Returnerar hash-koden för den här instansen. (Ärvd från Attribute) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IsDefaultAttribute() |
När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen. (Ärvd från Attribute) |
| Match(Object) |
När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt. (Ärvd från Attribute) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |