SoapRpcMethodAttribute.OneWay Property

Definition

Gets or sets whether an XML Web service client waits for the Web server to finish processing an XML Web service method.

public bool OneWay { get; set; }

Property Value

true if the XML Web service client does not wait for the Web server to completely process an XML Web service method; otherwise, false. The default is false.

Examples

The following code example sets the OneWay property to 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.
      }      
 
 }

Remarks

When an XML Web service method has the OneWay property set to true, the XML Web service client does not have to wait for the Web server to finish processing the XML Web service method. As soon as the Web server has deserialized the SoapServerMessage, but before it invokes the XML Web service method, the server returns an HTTP 202 status code. An HTTP 202 status code indicates to the client that the Web server has started processing the message. Therefore, an XML Web service client receives no acknowledgment that the Web server successfully processed the message.

One-way methods cannot have a return value or any out parameters.

If you are using the .NET Framework version 1.0 XML Web service methods that have either the SoapRpcMethodAttribute or SoapDocumentMethodAttribute attribute applied to them with the OneWay property set to true, do not allow access to their HttpContext using the static Current property. To access the HttpContext, derive the class implementing the XML Web service method from WebService and access the Context property.

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1