WF4.0 Beta1 持久化(SqlPersistenceProviderFactory)
2009-07-27 21:18
344 查看
WF4.0 Beta1 持久化 (SqlPersistenceProviderFactory)
SqlPersistenceProviderFactory与PersistenceProvider
名称空间: System.ServiceModel.Persistence
类文件: System.WorkflowServices.dll
数据库脚本: [\Windows\Microsoft.NET\Framework\v4.0.20506\SQL\en] 目录中
功能类
例子流程
使用
SqlPersistenceProviderFactory与PersistenceProvider
名称空间: System.ServiceModel.Persistence类文件: System.WorkflowServices.dll
数据库脚本: [\Windows\Microsoft.NET\Framework\v4.0.20506\SQL\en] 目录中
功能类
public class wfTools { //System.ServiceModel.Persistence //System.WorkflowServices.dll static SqlPersistenceProviderFactory persistenceProviderFactory; public static void openPersistence() { persistenceProviderFactory =new SqlPersistenceProviderFactory ( @"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\persistence.mdf;Integrated Security=True", false, false, TimeSpan.FromSeconds(60) ); persistenceProviderFactory.Open(); } public static void closePersistence() { persistenceProviderFactory.Close(); } public static WorkflowInstance createWorkflow(WorkflowElement workflow, Guid id) { WorkflowInstance instance = new WorkflowInstance(workflow, id); bindingInstanceEvent(instance); PersistenceProvider pp = persistenceProviderFactory.CreateProvider(id); instance.Extensions.Add(pp); return instance; } public static WorkflowInstance loadWorkflow(WorkflowElement workflow, Guid id) { PersistenceProvider pp = persistenceProviderFactory.CreateProvider(id); WorkflowInstance instance = WorkflowInstance.Load(workflow, pp); bindingInstanceEvent(instance); return instance; } static void bindingInstanceEvent(WorkflowInstance instance) { instance.OnIdle = idel; instance.OnUnloaded = unloaded; instance.OnUnhandledException = unhandledException; instance.OnCompleted = completed; } static void unloaded() { System.Console.WriteLine("unloaded"); } static IdleAction idel() { System.Console.WriteLine("idel"); return IdleAction.Unload; } static void completed(WorkflowCompletedEventArgs e) { System.Console.WriteLine("completed"); } static void aborted(WorkflowAbortedEventArgs e) { System.Console.WriteLine("aborted", e.Reason.Message); } static UnhandledExceptionAction unhandledException(WorkflowUnhandledExceptionEventArgs e) { System.Console.WriteLine("unhandledException{0}", e.UnhandledException.Message); return UnhandledExceptionAction.Abort; } } |
例子流程
等待触发 | public class myBookmark : NativeActivity { public string bookmarkName { get; set; } protected override void Execute(ActivityExecutionContext context) { context.CreateNamedBookmark(bookmarkName); } } |
流程 |
使用
第一组代码 | Guid id = new Guid("DB35221A-C901-46F7-8075-E65A8D97FE13"); wfTools.openPersistence(); WorkflowInstance myInstance = wfTools.createWorkflow(new Sequence1(), id); myInstance.Run(); System.Console.Read(); |
第二组代码 | Guid id = new Guid("DB35221A-C901-46F7-8075-E65A8D97FE13"); wfTools.openPersistence(); WorkflowInstance myInstance = wfTools.loadWorkflow(new Sequence1(), id); myInstance.ResumeBookmark("wxd", null); System.Console.Read(); |
相关文章推荐
- WF4.0 基础篇 (十九) Persistence 持久化
- SqlPersistenceService持久化数据库
- WF4.0 Beta1 自定义持久化PersistenceProvider
- WF4.0 基础篇 (十九) Persistence 持久化
- SqlPersistenceService持久化数据库
- SqlPersistenceService持久化数据库
- WF的持久化数据库SqlPersistenceService中的InstanceState记录会自动删除.
- 错误提示: (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
- [转]AngularJS 之 Factory vs Service vs Provider
- Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
- Spring和Mybatis整合过程中遇到的一个找不到sqlSessionFactory或sqlSessionTemplate的异常
- WF4.0 Beta1 集合操作
- 深究AngularJS——自定义服务详解(factory、service、provider)
- java.lang.IllegalArgumentException: Property 'sqlSessionFactory'
- Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 列名 'xxx' 无效。
- 7、provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错
- Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程
- MyBatis-Spring-SqlSessionFactoryBean
- Mybatis 之 SqlSessionFactory
- Managing SQL Server Services with WMI Provider