HOW TO:建立單向合約

本主題說明的基本步驟可用來建立使用單向合約的方法。此類方法會從用戶端叫用 Windows Communication Foundation (WCF) 服務上的作業,但是不會期待收到回覆。例如,您可以使用此合約類型,將通知發行給許多訂閱者。您也可以在建立雙工 (雙向) 合約時使用單向合約,以供用戶端與伺服器彼此各自進行通訊,並方便任何一方初始化對另一方的呼叫。這麼做可以特別允許伺服器對用戶端進行單向呼叫,而用戶端會將此呼叫視為事件。如需指定單向方法的詳細資訊,請參閱 IsOneWay 屬性與 OperationContractAttribute 類別。

如需 為雙工合約建立用戶端應用程式的詳細資訊,請參閱 HOW TO:使用單向和要求-回覆合約來存取 WCF 服務。如需實用範例,請參閱Service Contract: One-Way

若要建立單向合約

  1. ServiceContractAttribute 類別套用至用來定義服務要實作之方法的介面,以建立服務合約。

  2. 指出介面中可供用戶端叫用的方法,方法是將 OperationContractAttribute 類別套用到這些方法上。

  3. IsOneWay 屬性設為 true,以便將不得包含輸出的作業 (沒有傳回值,也沒有 out 或 ref 參數) 指定為單向。請注意,帶有 OperationContractAttribute 類別的作業預設都會滿足要求-回覆合約,因為 IsOneWay 屬性會預設為 false。因此如果您希望方法使用單向合約,就必須明確地將屬性值指定為 true

範例

下列程式碼範例定義包含數個單向方法的服務合約。所有的方法都具有單向合約,除了 Equals 以外,因為它會預設為要求-回覆,並傳回結果。

請參閱

工作

HOW TO:定義 Windows Communication Foundation 服務合約
HOW TO:建立雙工合約

參考

ServiceContractAttribute
OperationContractAttribute

概念

設計與實作服務

其他資源

Service Contract: Session