程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> wf框架編程-設計器部分:工作流設計器(4)

wf框架編程-設計器部分:工作流設計器(4)

編輯:關於C語言

Designer VIEw的職責

1.呈現各種ActivityDesigner,向各個ActivityDesigner發送消息

2.窗體管理、命令路由、窗體滾動、托放、滾動、布局、打印和打印預覽

ISite的職責是綁定組件和容器,DesignerHost中所有的服務都可以通過ISite(GetService)得到

IServiceContainer是服務容器,可以形成樹,promote參數true,服務的添加和刪除操作會提交給基容器,這些接口的實現思路和winfrom的設計器實現思路非常像。

2 設計器序列化

像VS一樣,流程設計出來必須要持久化保存,下次使用或者修改的時候通過反序列化操作,我們可以得到曾經設計的流程。

我們可以將活動樹序列化為XAML或者代碼(默認),甚至可以序列化為(BPEL,DSL)等領域描述語言。序列化為什麼格式,可以在Acitivity的Attribute中指定。

TypeCodeDomSerializer:序列化為代碼

WorkflowMarkupSerializer:序列化為XAML文件

wf框架編程-設計器部分:工作流設計器

設計器序列化使用的類庫

4 代碼生成

如果流程中存在Code Activity,那麼還需要設計器能動態生成代碼。如果指定了TypeCodeDomSerializer,也需要動態代碼生成,最後整個WF活動才能通過編譯成為.Net下的Assembly

活動代碼生成在驗證後調用C#代碼編譯前執行,活動代碼生成實際上是給了一個使用CodeDOM生成代碼文件的機會。代碼生成下次說吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved