WebInvokeAttribute WebInvokeAttribute WebInvokeAttribute WebInvokeAttribute Class

Definizione

Rappresenta un attributo che indica che un'operazione del servizio è dal punto di vista logico un'operazione invoke e che può essere chiamata dal modello di programmazione REST di WCF.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
Ereditarietà
WebInvokeAttributeWebInvokeAttributeWebInvokeAttributeWebInvokeAttribute
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato l'utilizzo dell'attributo WebInvokeAttribute.The following example shows how to use the WebInvokeAttribute attribute.

Nota

Dato che la proprietà Method non è specificata nel codice seguente, tutte le operazioni del servizio vengono mappate al metodo HTTP POST.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

Commenti

L'attributo WebInvokeAttribute è applicato a un'operazione del servizio oltre a OperationContractAttribute e associa l'operazione a un UriTemplate nonché a un verbo di trasporto sottostante che rappresenta una chiamata (ad esempio, HTTP POST, PUT o 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). Il WebInvokeAttribute attributo è un passivo comportamento dell'operazione (il IOperationBehavior metodi non eseguono alcuna operazione) che aggiunge metadati alla descrizione dell'operazione.The WebInvokeAttribute attribute is a passive operation behavior (the IOperationBehavior methods do nothing) that adds metadata to the operation description. L'applicazione dell’attributo WebInvokeAttribute a un’operazione del servizio non ha alcun effetto a meno che alla raccolta dei comportamenti del servizio non venga aggiunto un comportamento che ricerca questi metadati nella descrizione dell'operazione (ad esempio WebHttpBehavior).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. WebInvokeAttribute determina il metodo HTTP al quale risponde un'operazione del servizio.The WebInvokeAttribute determines what HTTP method that a service operation responds to. Per impostazione predefinita, tutti i metodi ai quali è applicato l’attributo WebInvokeAttribute rispondono a richieste POST.By default, all methods that have the WebInvokeAttribute applied respond to POST requests. La proprietà Method consente di specificare un metodo HTTP diverso.The Method property allows you to specify a different HTTP method. Se si desidera che l’operazione del servizio risponda a GET, utilizzare invece WebGetAttribute.If you want a service operation to respond to GET, use the WebGetAttribute instead.

Costruttori

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

Inizializza una nuova istanza della classe WebInvokeAttribute.Initializes a new instance of the WebInvokeAttribute class.

Proprietà

BodyStyle BodyStyle BodyStyle BodyStyle

Ottiene o imposta lo stile del corpo dei messaggi inviati da e verso l'operazione del servizio.Gets or sets the body style of the messages that are sent to and from the service operation.

IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly IsBodyStyleSetExplicitly

Ottiene la proprietà IsBodyStyleSetExplicitly.Gets the IsBodyStyleSetExplicitly property.

IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly IsRequestFormatSetExplicitly

Ottiene la proprietà IsRequestFormatSetExplicitly.Gets the IsRequestFormatSetExplicitly property.

IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly IsResponseFormatSetExplicitly

Ottiene la proprietà IsResponseFormatSetExplicitly.Gets the IsResponseFormatSetExplicitly property.

Method Method Method Method

Ottiene o imposta il metodo del protocollo (ad esempio HTTP) al quale risponde l'operazione del servizio.Gets or sets the protocol (for example HTTP) method the service operation responds to.

RequestFormat RequestFormat RequestFormat RequestFormat

Ottiene o imposta la proprietà RequestFormat.Gets or sets the RequestFormat property.

ResponseFormat ResponseFormat ResponseFormat ResponseFormat

Ottiene o imposta la proprietà ResponseFormat.Gets or sets the ResponseFormat property.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
UriTemplate UriTemplate UriTemplate UriTemplate

Modello Uniform Resource Identifier (URI) per l'operazione del servizio.The Uniform Resource Identifier (URI) template for the service operation.

Implementazioni dell'interfaccia esplicita

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

Implementa il metodo AddBindingParameters(OperationDescription, BindingParameterCollection).Implements the AddBindingParameters(OperationDescription, BindingParameterCollection) method.

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

Implementa il metodo ApplyClientBehavior(OperationDescription, ClientOperation).Implements the ApplyClientBehavior(OperationDescription, ClientOperation) method.

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

Implementa il metodo ApplyDispatchBehavior(OperationDescription, DispatchOperation).Implements the ApplyDispatchBehavior(OperationDescription, DispatchOperation) method.

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

Implementa il metodo Validate(OperationDescription).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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a