SoapRpcMethodAttribute.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 do serviço Web XML não esperar que o servidor Web processe completamente um método de serviço Web XML; caso contrário, false. A predefinição é false.
Exemplos
O seguinte exemplo de código define a OneWay propriedade como true.
<%@ WebService Language="C#" Class="Stats" %>
using System.Web.Services;
using System.Web.Services.Protocols;
public class Stats: WebService {
[ SoapRpcMethod(OneWay=true) ]
[ WebMethod(Description="Starts nightly stats batch process.") ]
public void StartStatsCrunch() {
// Begin a process that takes a long time to complete.
}
}
<%@ WebService Language="VB" Class="Stats" %>
Imports System.Web.Services
Imports System.Web.Services.Protocols
Public Class Stats
Inherits WebService
<SoapRpcMethod(OneWay := True), _
WebMethod(Description := "Starts nightly stats batch process.")> _
Public Sub _
StartStatsCrunch()
' Begin a process that takes a long time to complete.
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.
Os métodos unidirecionais não podem ter um valor de retorno ou quaisquer out parâmetros.
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 definida para true, não permita o 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.