我正在尋找Windows Presentation Foundation和Workflow Foundation之間交互的一些很好的現實世界示例。我看到的大部分WF教程都演示了在控制檯應用程序中的使用。我對使用豐富的WPF界面和WF的應用程序更加好奇。特別是如果它們允許用戶定義的工作流程(允許用戶即時設計和運行他們自己的工作流程)。WF和WPF交互的真實世界示例
11
A
回答
3
我不知道你在尋找什麼,但這裏有一些鏈接到有關在桌面使用工作流程(WPF)以這種或那種方式應用的實際現實世界的應用程序的信息:
2
我來舉個例子,試圖讓兩個工作流程相互溝通。
- 首先你需要寫一個主機。這是一個非常重要的命題,因爲對於兩個WF主機相互交談,您還需要了解WCF以及線程的所有可疑概念。
- 然後你的WF需要通過主機與其他WF通信。這是有道理的,因爲當WF等待另一個WF發送一個事件時,WF不會在內存中保持運行3個月。 WF位於數據庫中,並通過主機進行通信。
- 好的,即使是對於更簡單的場景,對於本地進程間通信,您也有CallExternalMethod活動和HandleExternalEvent活動。即使在這種情況下,您也必須通過主機進行通話,因爲WF可能已被鈍化到數據庫。所以爲了做到這一點,你必須記住要做3件事情,用ExternalDataExchangeAttribute裝飾你的接口,eventargs需要從ExternalDataEventArgs派生,事件參數是可序列化的。
- 如果你在#3中的任何項目搞砸了,你會得到一個非直觀的「InvalidOperationException」。當然,這個消息說:「服務沒有實現與ExternalDataExchange屬性的接口」,但是直到你看到內部異常,你才真正知道發生了什麼 - 也就是說你忘記了它是可序列化的。衛生署!但我確實將它標記爲可序列化。其實,一切都需要可序列化,即使是發件人。
- 然後,您必須通過正在使用的適當接口名稱和方法名稱來連接WF活動。
- 最後,即使是進行中的WF通信,您也必須記住將您的服務添加到ExternalDataExchangeService,而不是WF運行時。否則,它將看起來像沒有人訂閱該事件。更何況,這是這些錯誤之一,並沒有真正引發錯誤。即難以追查!
因此,簡而言之,對於試圖使簡單的情況下兩個工作流溝通,你需要有以下辦理好:
*編寫Windows應用程序(主機), *線程, * WCF, * OOP概念, *系列化的所有概念, *掛鉤和WF本身的非直觀的細節, *忍者調試技能充沛。
出處:http://blah.winsmarts.com/2008-2-I've_been_here_before.aspx
+1
這是有用的信息......但並不真正與我的問題有關。我正在尋找使用WF和WPF應用程序的例子。 – KrisTrip 2011-02-16 18:26:34
0
的問題是相當模糊的,但這裏是this博客文章我寫了一個可能的awnser。基本上,我重新託管了工作流設計器,讓最終用戶根據需要更改工作流,並讓他們在那裏運行它們。當然你的問題可能意味着什麼,比如如何從WPF表單調用工作流服務。
0
這是一種自我推銷,因爲鏈接是我的,but have a look。
0
這是我做的一個示例項目,它結合了WF和WPF來模擬ATM機。該代碼適用於處理書籤,如何保持工作流程存活以及如何操作工作流程中的UI等問題。
相關問題
- 1. OOP真實世界示例
- 2. OOPS的真實世界示例
- 3. Builder模式的真實世界示例
- 4. Paxos的真實世界示例
- 5. 真實世界的反射示例
- 6. PHP:真實世界的OOP示例
- 7. NPOI真實世界樞軸示例
- 8. Apache Helix,Zookeeper,Mesos和Erlang的真實世界示例?
- 9. 尋找真實世界的Gradle例子
- 10. Mesos真實世界的用例
- 11. Multiton - 真實世界的例子?
- 12. RxJava的真實世界用例對象
- 13. 真實世界異步和等待代碼示例
- 14. 接口的使用,實際的和真實世界的例子
- 15. jquery的真實世界實例$ .Callbacks();和它的功能
- 16. 真實世界的目的
- 17. 真實世界中的Glassfish
- 18. PHP的高級OOP功能的真實世界示例
- 19. OpenGL ES和真實世界的發展
- 20. 真實世界的部分函數示例
- 21. 卡蘭異步庫系列方法的真實世界示例
- 22. SOA架構使用.NET的真實世界示例
- 23. Spring 5的真實世界控制器示例:Web反應性
- 24. 真實世界併發軟件中讀寫的示例
- 25. 真實世界Haskell示例中的模糊錯誤
- 26. 具有真實世界的Canonical QTranslator示例QLocale
- 27. @optional協議方法的真實世界示例
- 28. 春季原型bean的真實世界示例
- 29. jQuery Galleria圖片庫JSON的真實世界工作示例
- 30. 在C#中使用#define的真實世界示例?
HI達米爾,你在這個答案中提到了一個單詞文件鏈接。但現在這個文件不再可用。所以,如果你下載了這個文件,那麼你可以和我分享一下。 – 2017-03-10 07:01:15