首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WF4.0 基礎篇(27):WCF Workflow Service 打造工作流驅動的服務

     編輯:關於.NET

WCF Workflow Service (.xamlx) 讓開發者以視覺化流程設計器實作 WCF 服務邏輯,將長期執行、持久化、追蹤等 WF 特性原生融入服務層。本文透過兩個完整範例示範從服務建立到用戶端呼叫的全流程。

範例 1:簡單加法服務 (基本型別參數/回傳)

建立服務:新增 WCF Workflow Service 專案項目,產生 Service1.xamlx。專案結構 新增 WCF Workflow Service

設計流程:

  1. 刪除預設 data 變數
  2. 新增 x、y、xy (Double)
  3. Receive 設定:OperationName="addxy"、CanCreateInstance=True Receive 設定
  4. Receive.Content 繫結 x、y 作為輸入參數 Content 繫結
  5. 新增 Assign:xy = x + y Assign 計算
  6. Send.Content 繫結 xy 作為回傳值 Send 回傳

WPF 用戶端呼叫:WPF 介面 服務參考 參考設定

private void add_Click(object sender, RoutedEventArgs e)
{
    var client = new myService.ServiceClient();
    double result = client.addxy(double.Parse(x.Text), double.Parse(y.Text));
    xy.Text = result.ToString();
}

呼叫結果:加法服務執行結果

範例 2:自訂資料型別傳遞 (DataContract)

定義資料合約:

[DataContract]
public class MyData
{
    [DataMember] public double X { get; set; }
    [DataMember] public double Y { get; set; }
    [DataMember] public double XY { get; set; }
}

服務流程設計:自訂型別流程

  • Receive:OperationName="addxy"、CanCreateInstance=True
  • Receive.Content 繫結 MyData 型別參數 inputData
  • Assign:inputData.XY = inputData.X + inputData.Y
  • Send.Content 繫結 inputData 回傳

WPF 用戶端 (資料繫結):WPF 資料繫結介面

private void add_Click(object sender, RoutedEventArgs e)
{
    var data = dataRoot.DataContext as MyData;
    var client = new ServiceClient();
    client.addxy(ref data);  // 注意:WCF 預設用 ref 傳遞 DataContract
    dataRoot.DataContext = data;
}

執行結果:自訂型別結果1 自訂型別結果2

完整範例代碼:下載連結

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved