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. Wartość domyślna 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 tylko serwer sieci Web wykona deserializacji 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 .NET Framework w wersji 1.0 metod usługi sieci Web XML, które mają SoapRpcMethodAttribute zastosowany atrybut lub SoapDocumentMethodAttribute z właściwością OneWay ustawioną na true, nie mają dostępu do ich HttpContext przy użyciu właściwości statycznejCurrent. Aby uzyskać dostęp do HttpContextklasy , należy utworzyć klasę implementowania metody usługi sieci Web XML z WebService klasy i uzyskać dostęp do Context właściwości .

Dotyczy

Zobacz też