WebInvokeAttribute WebInvokeAttribute WebInvokeAttribute WebInvokeAttribute Class

Definition

Stellt ein Attribut dar, das angibt, dass ein Dienstvorgang logisch als Aufrufvorgang gilt und mit dem das WCF-REST-Programmiermodell aufgerufen werden kann.Represents an attribute indicating that a service operation is logically an invoke operation and that it can be called by the WCF REST programming model.

public ref class WebInvokeAttribute sealed : Attribute, System::ServiceModel::Description::IOperationBehavior
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, System.ServiceModel.Description.IOperationBehavior
type WebInvokeAttribute = class
    inherit Attribute
    interface IOperationBehavior
Public NotInheritable Class WebInvokeAttribute
Inherits Attribute
Implements IOperationBehavior
Vererbung
WebInvokeAttributeWebInvokeAttributeWebInvokeAttributeWebInvokeAttribute
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird die Verwendung des WebInvokeAttribute-Attributs veranschaulicht.The following example shows how to use the WebInvokeAttribute attribute.

Hinweis

Da die Method-Eigenschaft im folgenden Code nicht angegeben wurde, werden alle Dienstvorgänge der HTTP POST-Methode zugeordnet.Because the Method property is not specified in the following code, all service operations are mapped to the HTTP POST method.

[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

Hinweise

Das WebInvokeAttribute -Attribut wird zusätzlich zu dem OperationContractAttribute auf einen Dienst Vorgang angewendet und verknüpft den Vorgang mit einem UriTemplate sowie einem zugrunde liegenden Transport Verb, das einen Aufruf darstellt (z. b. HTTP Post, Put oder DELETE).The WebInvokeAttribute attribute is applied to a service operation in addition to the OperationContractAttribute and associates the operation with a UriTemplate as well as an underlying transport verb that represents an invocation (for example, HTTP POST, PUT, or DELETE). Das WebInvokeAttribute -Attribut ist ein Passives Vorgangs Verhalten IOperationBehavior (von den-Methoden wird nichts unternommen), das der Vorgangs Beschreibung Metadaten hinzufügt.The WebInvokeAttribute attribute is a passive operation behavior (the IOperationBehavior methods do nothing) that adds metadata to the operation description. Die Anwendung des WebInvokeAttribute-Attributs auf einen Dienstvorgang hat nur dann Auswirkungen, wenn ein Verhalten, das in der Vorgangsbeschreibung nach diesen Metadaten sucht (beispielsweise WebHttpBehavior), der Verhaltensauflistung des Diensts hinzugefügt wird.Applying the WebInvokeAttribute attribute to a service operation has no effect unless a behavior that looks for this metadata in the operation description (such as WebHttpBehavior) is added to the service's behavior collection. Das WebInvokeAttribute-Attribut bestimmt die HTTP-Methode, auf die ein Dienstvorgang antwortet.The WebInvokeAttribute determines what HTTP method that a service operation responds to. Standardmäßig antworten alle Methoden, für die das WebInvokeAttribute-Attribut übernommen wurde, auf POST-Anforderungen.By default, all methods that have the WebInvokeAttribute applied respond to POST requests. Mit der Method-Eigenschaft können Sie eine andere HTTP-Methode angeben.The Method property allows you to specify a different HTTP method. Wenn Sie möchten, dass ein Dienstvorgang auf GET-Anforderungen antwortet, verwenden Sie stattdessen das WebGetAttribute-Attribut.If you want a service operation to respond to GET, use the WebGetAttribute instead.

Konstruktoren

WebInvokeAttribute() WebInvokeAttribute() WebInvokeAttribute() WebInvokeAttribute()

Initialisiert eine neue Instanz der WebInvokeAttribute-Klasse.Initializes a new instance of the WebInvokeAttribute class.

Eigenschaften

BodyStyle BodyStyle BodyStyle BodyStyle

Ruft das Textformat der Nachrichten ab, die an den Dienstvorgang bzw. von dem Dienstvorgang gesendet werden, oder legt dieses fest.Gets or sets the body style of the messages that are sent to and from the service operation.

IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly

Ruft die IsBodyStyleSetExplicitly-Eigenschaft ab.Gets the IsBodyStyleSetExplicitly property.

IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly

Ruft die IsRequestFormatSetExplicitly-Eigenschaft ab.Gets the IsRequestFormatSetExplicitly property.

IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly

Ruft die IsResponseFormatSetExplicitly-Eigenschaft ab.Gets the IsResponseFormatSetExplicitly property.

Method Method Method Method

Ruft die Protokollmethode ab, auf die der Dienstvorgang antwortet (z. B. HTTP), oder legt sie fest.Gets or sets the protocol (for example HTTP) method the service operation responds to.

RequestFormat RequestFormat RequestFormat RequestFormat

Ruft die RequestFormat-Eigenschaft ab oder legt diese fest.Gets or sets the RequestFormat property.

ResponseFormat ResponseFormat ResponseFormat ResponseFormat

Ruft die ResponseFormat-Eigenschaft ab oder legt diese fest.Gets or sets the ResponseFormat property.

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
UriTemplate UriTemplate UriTemplate UriTemplate

Die URI-Vorlage (URI = Uniform Resource Identifier) für den Dienstvorgang.The Uniform Resource Identifier (URI) template for the service operation.

Explizite Schnittstellenimplementierungen

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Implementiert die AddBindingParameters(OperationDescription, BindingParameterCollection)-Methode.Implements the AddBindingParameters(OperationDescription, BindingParameterCollection) method.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Implementiert die ApplyClientBehavior(OperationDescription, ClientOperation)-Methode.Implements the ApplyClientBehavior(OperationDescription, ClientOperation) method.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Implementiert die ApplyDispatchBehavior(OperationDescription, DispatchOperation)-Methode.Implements the ApplyDispatchBehavior(OperationDescription, DispatchOperation) method.

IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription)

Implementiert die Validate(OperationDescription)-Methode.Implements the Validate(OperationDescription) method.

IOperationContractAttributeProvider.GetOperationContractAttribute() IOperationContractAttributeProvider.GetOperationContractAttribute() IOperationContractAttributeProvider.GetOperationContractAttribute() IOperationContractAttributeProvider.GetOperationContractAttribute()
IWmiInstanceProvider.FillInstance(IWmiInstance) IWmiInstanceProvider.FillInstance(IWmiInstance) IWmiInstanceProvider.FillInstance(IWmiInstance) IWmiInstanceProvider.FillInstance(IWmiInstance)
IWmiInstanceProvider.GetInstanceType() IWmiInstanceProvider.GetInstanceType() IWmiInstanceProvider.GetInstanceType() IWmiInstanceProvider.GetInstanceType()
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: