Udostępnij za pośrednictwem


SoapDocumentMethodAttribute.OneWay Właściwość

Definicja

Pobiera lub ustawia, czy klient usługi sieci Web XML czeka na zakończenie przetwarzania metody usługi sieci 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

Wartość właściwości

true jeśli klient usługi sieci Web XML nie czeka, aż serwer sieci Web całkowicie przetworzy metodę usługi sieci Web XML. Domyślna wartość to false.

Przykłady

Poniższy przykład kodu to metoda usługi sieci Web XML, która nie wymaga od klienta oczekiwania na ukończenie metody usługi sieci Web XML. W związku z tym przykład ustawia OneWay właściwość na truewartość .

<%@ 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

Uwagi

Gdy metoda usługi sieci Web XML ma właściwość ustawioną OneWay na true, klient usługi sieci Web XML nie musi czekać na zakończenie przetwarzania metody usługi sieci Web XML. Gdy serwer sieci Web zdeserializuje metodę SoapServerMessage, ale przed wywołaniem metody usługi sieci Web XML serwer zwraca kod stanu HTTP 202. Kod stanu HTTP 202 wskazuje klientowi, że serwer sieci Web rozpoczął przetwarzanie komunikatu. W związku z tym klient usługi sieci Web XML nie otrzymuje potwierdzenia, że serwer sieci Web pomyślnie przetworzył komunikat.

Metody jednokierunkowe nie mogą mieć wartości zwracanej ani żadnych parametrów wychodzących.

Jeśli używasz metod usługi sieci Web XML programu .NET Framework w wersji 1.0, które mają atrybut lub SoapDocumentMethodAttribute zastosowane do nich z właściwością OneWay ustawioną na true, nie mają dostępu do ich HttpContext przy użyciu właściwości statycznejCurrent.SoapRpcMethodAttribute Aby uzyskać dostęp do HttpContextklasy , należy utworzyć klasę implementowania metody usługi sieci Web XML z WebService i uzyskać dostęp do Context właściwości .

Dotyczy

Zobacz też