SoapDocumentMethodAttribute.OneWay Propriedade
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.
Obtém ou define se um cliente de serviço Web XML espera que o servidor Web termine de processar um método de serviço Web XML.
public:
property bool OneWay { bool get(); void set(bool value); };
public bool OneWay { get; set; }
member this.OneWay : bool with get, set
Public Property OneWay As Boolean
Valor de Propriedade
true se o cliente de serviço Web XML não esperar que o servidor Web processe completamente um método de serviço Web XML. O valor predefinido é false.
Exemplos
O seguinte exemplo de código é um método de serviço Web XML que não exige que o cliente espere que o método do serviço Web XML seja concluído. Portanto, a amostra define a OneWay propriedade para true.
<%@ WebService Language="C#" Class="Stats" %>
using System.Web.Services;
using System.Web.Services.Protocols;
public class Stats: WebService {
[ SoapDocumentMethod(OneWay=true) ]
[ WebMethod(Description="Starts nightly statistics batch process.") ]
public void StartStatsCrunch() {
// Begin nightly statistics crunching process.
// A one-way method cannot have return values.
}
}
<%@ WebService Language="VB" Class="Stats" %>
Imports System.Web.Services
Imports System.Web.Services.Protocols
Public Class Stats
Inherits WebService
<SoapDocumentMethod(OneWay := True), _
WebMethod(Description := "Starts nightly statistics batch process.")> _
Public Sub _
StartStatsCrunch()
' Begin nightly statistics crunching process.
' A one-way method cannot have return values.
End Sub
End Class
Observações
Quando um método de serviço Web XML tem a OneWay propriedade definida para true, o cliente de serviço Web XML não tem de esperar que o servidor Web termine de processar o método do serviço Web XML. Assim que o servidor Web desserializa o SoapServerMessage, mas antes de invocar o método do serviço Web XML, o servidor devolve um código de estado HTTP 202. Um código de estado HTTP 202 indica ao cliente que o servidor Web começou a processar a mensagem. Portanto, um cliente de serviço Web XML não recebe qualquer confirmação de que o servidor Web processou com sucesso a mensagem.
Métodos unidirecionais não podem ter um valor de retorno nem quaisquer parâmetros de saída.
Se estiver a usar os métodos de serviço Web XML do .NET Framework versão 1.0 que tenham o atributo SoapRpcMethodAttribute ou SoapDocumentMethodAttribute aplicado com a propriedade OneWay definido para true, não tenha acesso ao seu HttpContext usando a propriedade estática Current. Para aceder ao HttpContext, derive a classe que implementa o método do serviço Web XML a partir de WebService e aceda à Context propriedade.