SoapDocumentMethodAttribute.OneWay Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее, ожидает ли клиент веб-службы XML окончания обработки веб-сервером метода веб-службы 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
Значение свойства
Значение true
, если клиент веб-службы XML не ожидает окончания обработки веб-сервером метода веб-службы XML. Значение по умолчанию — false
.
Примеры
Следующий пример кода — это метод веб-службы XML, который не требует, чтобы клиент ждал завершения метода веб-службы XML. Поэтому в примере задается OneWay значение свойства true
.
<%@ 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
Комментарии
Если для метода веб-службы XML задано OneWay свойство true
, клиенту веб-службы XML не нужно ожидать завершения обработки метода веб-службы XML. Как только веб-сервер десериализировал SoapServerMessageметод веб-службы, но перед вызовом метода веб-службы XML сервер возвращает код состояния HTTP 202. Код состояния HTTP 202 указывает клиенту, что веб-сервер начал обработку сообщения. Таким образом, клиент веб-службы XML не получает подтверждения того, что веб-сервер успешно обработал сообщение.
Односторонние методы не могут иметь возвращаемое значение или какие-либо параметры out.
Если вы используете методы веб-службы XML версии платформа .NET Framework версии 1.0, к SoapRpcMethodAttribute которым применены атрибуты или SoapDocumentMethodAttribute атрибуты с OneWay заданным свойствомtrue
, не имеют доступа к их HttpContext использованию статического Current свойства. Чтобы получить доступ к классу HttpContext, наследуем класс, реализуя метод веб-службы XML, и WebService получите доступ к свойству Context .