Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

WebInvokeAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Stellt ein Attribut, der angibt, dass ein Dienstvorgang logisch als ein Startvorgang ist und sie kann, indem aufgerufen werden die WCF REST-Programmiermodell.

Namespace:   System.ServiceModel.Web
Assembly:  System.ServiceModel.Web (in System.ServiceModel.Web.dll)

System.Object
  System.Attribute
    System.ServiceModel.Web.WebInvokeAttribute

[AttributeUsageAttribute(AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, IOperationBehavior

NameBeschreibung
System_CAPS_pubmethodWebInvokeAttribute()

Initialisiert eine neue Instanz der WebGetAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyBodyStyle

Ruft den Textstil der Nachrichten ab, die an den Dienstvorgang bzw. von dem Dienstvorgang gesendet werden, und legt diesen fest.

System_CAPS_pubpropertyIsBodyStyleSetExplicitly

Ruft die IsBodyStyleSetExplicitly-Eigenschaft ab.

System_CAPS_pubpropertyIsRequestFormatSetExplicitly

Ruft die IsRequestFormatSetExplicitly-Eigenschaft ab.

System_CAPS_pubpropertyIsResponseFormatSetExplicitly

Ruft die IsResponseFormatSetExplicitly-Eigenschaft ab.

System_CAPS_pubpropertyMethod

Ruft die Protokollmethode ab, auf die der Dienstvorgang antwortet (z. B. HTTP), und legt sie fest.

System_CAPS_pubpropertyRequestFormat

Ruft die RequestFormat-Eigenschaft ab und legt diese fest.

System_CAPS_pubpropertyResponseFormat

Ruft die ResponseFormat-Eigenschaft ab und legt diese fest.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

System_CAPS_pubpropertyUriTemplate

Die URI-Vorlage (URI = Uniform Resource Identifier) für den Dienstvorgang.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)
System_CAPS_pubinterfaceSystem_CAPS_privmethodIOperationBehavior.Validate(OperationDescription)

Implementiert die Validate(OperationDescription)-Methode.

Die WebInvokeAttribute -Attributs auf einen Dienstvorgang zusätzlich zu den OperationContractAttribute und ordnet den Vorgang mit einer UriTemplate sowie einem zugrunde liegenden übertragungsverb, die einen Aufruf (z. B. HTTP POST, PUT oder DELETE) darstellt. Das WebInvokeAttribute-Attribut ist ein passives Vorgangsverhalten (von den IOperationBehavior-Methoden werden keine Aktionen ausgeführt), durch das der Vorgangsbeschreibung Metadaten hinzugefügt werden. 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. Das WebInvokeAttribute-Attribut bestimmt die HTTP-Methode, auf die ein Dienstvorgang antwortet. Standardmäßig antworten alle Methoden, für die das WebInvokeAttribute-Attribut übernommen wurde, auf POST-Anforderungen. Mit der Method-Eigenschaft können Sie eine andere HTTP-Methode angeben. Wenn Sie möchten, dass ein Dienstvorgang auf GET-Anforderungen antwortet, verwenden Sie stattdessen das WebGetAttribute-Attribut.

Im folgenden Beispiel wird die Verwendung des WebInvokeAttribute-Attributs veranschaulicht.

System_CAPS_noteHinweis

Da die Method-Eigenschaft im folgenden Code nicht angegeben wurde, werden alle Dienstvorgänge der HTTP POST-Methode zugeordnet.

[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);
}

.NET Framework
Verfügbar seit 3.5
Silverlight
Verfügbar seit 4.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: