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

設計流程:
data 變數x、y、xy (Double)Receive 設定:OperationName="addxy"、CanCreateInstance=True 
Receive.Content 繫結 x、y 作為輸入參數 
Assign:xy = x + y 
Send.Content 繫結 xy 作為回傳值 
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();
}
呼叫結果:
定義資料合約:
[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=TrueReceive.Content 繫結 MyData 型別參數 inputDataAssign:inputData.XY = inputData.X + inputData.YSend.Content 繫結 inputData 回傳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;
}
執行結果:

完整範例代碼:下載連結