SoapRpcMethodAttribute.OneWay Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define se um cliente de serviço Web XML aguarda até que o servidor Web conclua o processamento de 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 da propriedade
true
se o cliente de serviço Web XML não aguardar o servidor Web processar completamente um método de serviço Web XML; caso contrário, false
. O padrão é false
.
Exemplos
O exemplo de código a seguir 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
Comentários
Quando um método de serviço Web XML tem a OneWay propriedade definida como true
, o cliente de serviço Web XML não precisa aguardar o servidor Web concluir o processamento do método de serviço Web XML. Assim que o servidor Web desserializar, SoapServerMessagemas antes de invocar o método de serviço Web XML, o servidor retornará um código de status HTTP 202. Um código de status 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 nenhuma confirmação de que o servidor Web processou a mensagem com êxito.
Os métodos unidirecionais não podem ter um valor retornado ou parâmetros out
.
Se você estiver usando o .NET Framework métodos de serviço Web XML versão 1.0 que têm o atributo ou o SoapRpcMethodAttribute atributo aplicado a eles com a OneWay propriedade definida, true
não permita o acesso a eles HttpContext usando a propriedade estáticaCurrent.SoapDocumentMethodAttribute Para acessar a HttpContextclasse, derive a classe que implementa o método de WebService serviço Web XML e acesse a Context propriedade.