WebMethodAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adicionar este atributo a um método dentro de um serviço Web XML criado usando ASP.NET torna o método chamável a partir de clientes Web remotos. Esta classe não pode ser herdada.
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
- Herança
- Atributos
Exemplos
No exemplo abaixo, o método GetMachineName pode ser chamado remotamente através da Web, porque tem um WebMethodAttribute.
GetUserName não pode ser chamada remotamente, porque não tem um WebMethodAttribute, mesmo sendo 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
Observações
Os métodos dentro de uma classe que têm este conjunto de atributos são chamados métodos de serviço Web XML. O método e a classe devem ser públicos e a correr dentro de uma aplicação Web ASP.NET.
Construtores
| Name | Description |
|---|---|
| WebMethodAttribute() |
Inicializa uma nova instância da WebMethodAttribute classe. |
| WebMethodAttribute(Boolean, TransactionOption, Int32, Boolean) |
Inicializa uma nova instância da WebMethodAttribute classe. |
| WebMethodAttribute(Boolean, TransactionOption, Int32) |
Inicializa uma nova instância da WebMethodAttribute classe. |
| WebMethodAttribute(Boolean, TransactionOption) |
Inicializa uma nova instância da WebMethodAttribute classe. |
| WebMethodAttribute(Boolean) |
Inicializa uma nova instância da WebMethodAttribute classe. |
Propriedades
| Name | Description |
|---|---|
| BufferResponse |
Obtém ou define se a resposta a este pedido está em buffer. |
| CacheDuration |
Obtém ou define o número de segundos que a resposta deve ser mantida na cache. |
| Description |
Uma mensagem descritiva que descreve o método do serviço Web XML. |
| EnableSession |
Indica se o estado da sessão está ativado para um método de serviço Web XML. |
| MessageName |
O nome usado para o método de serviço Web XML nos dados passados e devolvidos de um método de serviço Web XML. |
| TransactionOption |
Indica o suporte a transações de um método de serviço Web XML. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |