Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase WebInvokeAttribute

 

Publicado: octubre de 2016

Representa un atributo que indica que una operación de servicio es lógicamente una operación de invocación y que se puede llamar a través del WCF modelo de programación de REST.

Espacio de nombres:   System.ServiceModel.Web
Ensamblado:  System.ServiceModel.Web (en System.ServiceModel.Web.dll)

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

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

NombreDescripción
System_CAPS_pubmethodWebInvokeAttribute()

Inicializa una nueva instancia de la clase WebGetAttribute.

NombreDescripción
System_CAPS_pubpropertyBodyStyle

Obtiene y establece el estilo del cuerpo de los mensajes que se envían a y desde la operación del servicio.

System_CAPS_pubpropertyIsBodyStyleSetExplicitly

Obtiene la propiedad IsBodyStyleSetExplicitly.

System_CAPS_pubpropertyIsRequestFormatSetExplicitly

Obtiene la propiedad IsRequestFormatSetExplicitly.

System_CAPS_pubpropertyIsResponseFormatSetExplicitly

Obtiene la propiedad IsResponseFormatSetExplicitly.

System_CAPS_pubpropertyMethod

Obtiene y establece el método protocolar (por ejemplo, HTTP) al que la operación del servicio responde.

System_CAPS_pubpropertyRequestFormat

Obtiene y establece la propiedad RequestFormat.

System_CAPS_pubpropertyResponseFormat

Obtiene y establece la propiedad ResponseFormat.

System_CAPS_pubpropertyTypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.(Heredado de Attribute).

System_CAPS_pubpropertyUriTemplate

La plantilla Identificador uniforme de recursos (URI) para la operación del servicio.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Devuelve un valor que indica si esta instancia es igual que un objeto especificado.(Heredado de Attribute).

System_CAPS_pubmethodGetHashCode()

Devuelve el código hash de esta instancia.(Heredado de Attribute).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.(Heredado de Attribute).

System_CAPS_pubmethodMatch(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.(Heredado de Attribute).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).(Heredado de Attribute).

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

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.(Heredado de 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)

Implementa el método Validate(OperationDescription).

El atributo WebInvokeAttribute se aplica a una operación de servicio además del OperationContractAttribute y asocia la operación a una UriTemplate así como a un verbo de transporte subyacente que representa una invocación (por ejemplo, HTTP POST, PUT o DELETE). El atributo WebInvokeAttribute es un comportamiento de operación pasiva (los métodosIOperationBehavior no hacen nada) que agrega metadatos a la descripción de la operación. Aplicar el atributo WebInvokeAttribute a una operación de servicio no tiene ningún efecto, a menos que se agregue un comportamiento que busque estos metadatos en la descripción de la operación (como WebHttpBehavior) a la colección de comportamientos del servicio. WebInvokeAttribute determina a qué método HTTP responde una operación del servicio. De forma predeterminada, todos los métodos que tienen WebInvokeAttribute aplicado responden a las solicitudes POST. La propiedad Method permite especificar un método HTTP diferente. Si desea que una operación del servicio responda a GET, utilice el WebGetAttribute en su lugar.

En el ejemplo siguiente se muestra cómo utilizar el atributo WebInvokeAttribute.

System_CAPS_noteNota

Dado que la propiedad Method no se especifica en el código siguiente, todas las operaciones del servicio se asignan al método POST de HTTP.

[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
Disponible desde 3.5
Silverlight
Disponible desde 4.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: