WebMethodAttribute Clase

Definición

Agregar este atributo a un método dentro de un servicio web XML creado mediante ASP.NET hace que el método se pueda llamar desde clientes web remotos. Esta clase no puede heredarse.

public ref class WebMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class WebMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type WebMethodAttribute = class
    inherit Attribute
Public NotInheritable Class WebMethodAttribute
Inherits Attribute
Herencia
WebMethodAttribute
Atributos

Ejemplos

En el ejemplo siguiente, el método GetMachineName se puede llamar de forma remota a través de la Web, porque tiene un WebMethodAttribute. GetUserName no se puede llamar de forma remota, porque no tiene un WebMethodAttributeelemento , aunque sea public.

<%@ WebService Language="C#" Class="Util"%>
    using System;
    using System.Web.Services;
    public class Util: WebService {
       public string GetUserName() {
          return User.Identity.Name;
       }
    
       [ WebMethod(Description="Obtains the Server Machine Name",
       EnableSession=true)]
       public string GetMachineName() {
          return Server.MachineName;
       }
    }
<%@ WebService Language="VB" Class="Util"%>

Imports System
Imports System.Web.Services

Public Class Util
    Inherits WebService
    
    Public Function GetUserName() As String
        Return User.Identity.Name
    End Function    
    
    <WebMethod(Description := "Obtains the Server Machine Name", _
        EnableSession := True)> _
    Public Function GetMachineName() As String
        
        Return Server.MachineName
    End Function
End Class

Comentarios

Los métodos de una clase que tienen este conjunto de atributos se denominan métodos de servicio web XML. El método y la clase deben ser públicos y ejecutarse dentro de una aplicación web ASP.NET.

Constructores

Nombre Description
WebMethodAttribute()

Inicializa una nueva instancia de la clase WebMethodAttribute.

WebMethodAttribute(Boolean, TransactionOption, Int32, Boolean)

Inicializa una nueva instancia de la clase WebMethodAttribute.

WebMethodAttribute(Boolean, TransactionOption, Int32)

Inicializa una nueva instancia de la clase WebMethodAttribute.

WebMethodAttribute(Boolean, TransactionOption)

Inicializa una nueva instancia de la clase WebMethodAttribute.

WebMethodAttribute(Boolean)

Inicializa una nueva instancia de la clase WebMethodAttribute.

Propiedades

Nombre Description
BufferResponse

Obtiene o establece si la respuesta de esta solicitud se almacena en búfer.

CacheDuration

Obtiene o establece el número de segundos que la respuesta debe mantenerse en la memoria caché.

Description

Mensaje descriptivo que describe el método de servicio web XML.

EnableSession

Indica si el estado de sesión está habilitado para un método de servicio web XML.

MessageName

Nombre utilizado para el método de servicio web XML en los datos pasados y devueltos desde un método de servicio web XML.

TransactionOption

Indica la compatibilidad de transacciones de un método de servicio web XML.

TypeId

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

(Heredado de Attribute)

Métodos

Nombre Description
Equals(Object)

Devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

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

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a propiedades y métodos expuestos por un objeto .

(Heredado de Attribute)

Se aplica a

Consulte también