SoapDocumentMethodAttribute.OneWay 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 XML Web 服務用戶端是否等待 Web 伺服器完成 XML Web 服務方法的處理。
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 Web 服務客戶端沒有等待 Web 伺服器完全處理 XML Web 服務方法。 預設值為 false。
範例
以下程式碼範例是一種 XML Web 服務方法,不需要客戶端等待 XML Web 服務方法完成。 因此,樣本將性質設定 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 Web 服務方法將 OneWay 屬性設定為 true時,XML Web 服務用戶端不必等待 Web 伺服器完成 XML Web 服務方法的處理。 一旦網頁伺服器將 反序列化 SoapServerMessage,但在呼叫 XML Web 服務方法之前,伺服器會回傳一個 HTTP 202 狀態碼。 HTTP 202 狀態碼會告訴用戶端網頁伺服器已開始處理該訊息。 因此,XML Web 服務客戶端不會收到網頁伺服器成功處理訊息的確認。
單向方法不能有返回值或任何出函參數。
如果你使用 .NET Framework 1.0 版本的 XML Web 服務方法,且其屬性是 SoapRpcMethodAttributeSoapDocumentMethodAttributeOneWay set 為 true,則無法使用靜態Current屬性存取它們。HttpContext 要存取 HttpContext,請從 衍生出實作 XML Web 服務方法 WebService 的類別,並存取該 Context 屬性。