WebInvokeAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir hizmet işleminin mantıksal olarak bir çağırma işlemi olduğunu ve WCF REST programlama modeli tarafından çağrılabileceğini belirten bir özniteliği temsil eder.
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
- Devralma
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte özniteliğin nasıl kullanılacağı gösterilmektedir WebInvokeAttribute .
Not
Method Özelliği aşağıdaki kodda belirtilmediğinden, tüm hizmet işlemleri HTTP POST yöntemiyle eşlenir.
[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
Açıklamalar
WebInvokeAttribute özniteliği, öğesine ek olarak bir hizmet işlemine OperationContractAttribute uygulanır ve işlemi bir UriTemplate
çağrıyı temsil eden bir temel aktarım fiiliyle (örneğin, HTTP POST, PUT veya DELETE) ilişkilendirir. WebInvokeAttribute özniteliği, işlem açıklamasına IOperationBehavior meta veri ekleyen pasif bir işlem davranışıdır (yöntemler hiçbir şey yapmaz). Özniteliğin WebInvokeAttribute bir hizmet işlemine uygulanması, işlemin davranış koleksiyonuna işlem açıklamasında (gibi WebHttpBehavior) bu meta verileri arayabilen bir davranış eklenmediği sürece hiçbir etkisi olmaz. , WebInvokeAttribute bir hizmet işleminin hangi HTTP yöntemine yanıt vereceğini belirler. Varsayılan olarak, uygulanan tüm yöntemler WebInvokeAttribute POST isteklerine yanıt verir. Method özelliği farklı bir HTTP yöntemi belirtmenize olanak tanır. Bir hizmet işleminin GET'e yanıt vermesini istiyorsanız, bunun yerine öğesini WebGetAttribute kullanın.
Oluşturucular
WebInvokeAttribute() |
WebInvokeAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
BodyStyle |
Hizmet işlemine gönderilen ve hizmetten gönderilen iletilerin gövde stilini alır veya ayarlar. |
IsBodyStyleSetExplicitly |
IsBodyStyleSetExplicitly özelliğini alır. |
IsRequestFormatSetExplicitly |
IsRequestFormatSetExplicitly özelliğini alır. |
IsResponseFormatSetExplicitly |
IsResponseFormatSetExplicitly özelliğini alır. |
Method |
Hizmet işleminin yanıt verdiği protokolü (örneğin HTTP) alır veya ayarlar. |
RequestFormat |
Özelliğini alır veya ayarlar RequestFormat . |
ResponseFormat |
Özelliğini alır veya ayarlar ResponseFormat . |
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
UriTemplate |
Hizmet işlemi için Tekdüzen Kaynak Tanımlayıcısı (URI) şablonu. |
Yöntemler
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |