WebInvokeAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy attribútumot jelöl, amely azt jelzi, hogy a szolgáltatásművelet logikailag meghívási művelet, és hogy a WCF REST programozási modell meghívhatja.
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
- Öröklődés
- Attribútumok
- Megvalósítás
Példák
Az alábbi példa az attribútum használatát WebInvokeAttribute mutatja be.
Note
Mivel a Method tulajdonság nincs megadva a következő kódban, az összes szolgáltatásművelet a HTTP POST metódushoz van leképezve.
[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
Megjegyzések
Az WebInvokeAttribute attribútumot egy szolgáltatásműveletre alkalmazza a rendszer a OperationContractAttribute művelet mellett, és társítja a műveletet egy UriTemplate olyan mögöttes átviteli igével, amely egy meghívást jelöl (például HTTP POST, PUT vagy DELETE). Az WebInvokeAttribute attribútum egy passzív műveleti viselkedés (a IOperationBehavior metódusok nem tesznek semmit), amely metaadatokat ad hozzá a művelet leírásához. Az WebInvokeAttribute attribútum szolgáltatásműveletre való alkalmazása csak akkor lép érvénybe, ha a szolgáltatás viselkedésgyűjteményéhez hozzáad egy olyan viselkedést, amely ezt a metaadatokat keresi a művelet leírásában (például WebHttpBehavior) . Ez WebInvokeAttribute határozza meg, hogy egy szolgáltatásművelet milyen HTTP-metódusra válaszol. Alapértelmezés szerint az alkalmazott metódusok válaszolnak a WebInvokeAttribute POST-kérelmekre. A Method tulajdonság lehetővé teszi egy másik HTTP-metódus megadását. Ha azt szeretné, hogy egy szolgáltatásművelet válaszoljon a GET-nek, használja helyette a parancsot WebGetAttribute .
Konstruktorok
| Név | Description |
|---|---|
| WebInvokeAttribute() |
Inicializálja a WebInvokeAttribute osztály új példányát. |
Tulajdonságok
| Név | Description |
|---|---|
| BodyStyle |
Lekéri vagy beállítja a szolgáltatásműveletbe küldött és onnan küldött üzenetek törzsstílusát. |
| IsBodyStyleSetExplicitly |
Lekéri a tulajdonságot IsBodyStyleSetExplicitly . |
| IsRequestFormatSetExplicitly |
Lekéri a tulajdonságot IsRequestFormatSetExplicitly . |
| IsResponseFormatSetExplicitly |
Lekéri a tulajdonságot IsResponseFormatSetExplicitly . |
| Method |
Lekéri vagy beállítja azt a protokollmetódust (például HTTP), a amelyekre a szolgáltatásművelet válaszol. |
| RequestFormat |
Lekéri vagy beállítja a tulajdonságot RequestFormat . |
| ResponseFormat |
Lekéri vagy beállítja a tulajdonságot ResponseFormat . |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
| UriTemplate |
A szolgáltatásművelet egységes erőforrás-azonosító (URI) sablonja. |
Metódusok
| Név | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |