wwf 4.0 加载的工作流怎么传参

oXueYuZhiYing 2014-05-10 12:07:10
wwf 4.0 加载的工作流怎么传参, 是否有例子!
在下面的代码中怎么样可以把 public string Load(string id, object inputs = null,Dictionary<string,object> ids=null)
中的 ids传到工流中??


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Activities;
using System.Activities.DurableInstancing;
using System.Runtime.DurableInstancing;
using System.Activities.XamlIntegration;

namespace Common
{
/// <summary>
/// 工作流辅助类
/// </summary>
public class WFHelp
{
private string bookMark = string.Empty;
private string path = string.Empty;
private string connectionString = string.Empty;
private InstanceStore _instanceStore;
public WFHelp()
{
this.bookMark = "BookmarkName";
this.path = System.Web.HttpContext.Current.Server.MapPath("~/WF/Activity1.xaml");
this.connectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
}
public WFHelp(string bookMark, string path, string connectionString)
{
this.bookMark = bookMark;
this.path = path;
this.connectionString = connectionString;
}
/// <summary>
/// 加载工作流
/// </summary>
/// <param name="id">工作流的唯一标示</param>
/// <param name="bookMark">标签名称</param>
/// <param name="ids">恢复指定名称的书签的时候,传入的参数</param>
/// <returns>工作流的加载的状态</returns>
public string Load(string id, object inputs = null,Dictionary<string,object> ids=null)
{
_instanceStore = new SqlWorkflowInstanceStore(connectionString);
InstanceView view = _instanceStore.Execute
(_instanceStore.CreateInstanceHandle(),
new CreateWorkflowOwnerCommand(),
TimeSpan.FromSeconds(30));
_instanceStore.DefaultInstanceOwner = view.InstanceOwner;

WorkflowApplication i = new WorkflowApplication(ActivityXamlServices.Load(path));

i.InstanceStore = _instanceStore;
i.PersistableIdle = (waiea) => PersistableIdleAction.Unload;
try
{
i.Load(new Guid(id));
return i.ResumeBookmark(bookMark, inputs).GetString();
}
catch (Exception ex)
{
throw ex;
}

}
/// <summary>
/// 创建工作流
/// </summary>
/// <param name="parameters">传入的参数</param>
/// <returns>获取工作流实例的Id值</returns>
public string Create(IDictionary<string, object> parameters)
{
_instanceStore = new SqlWorkflowInstanceStore(connectionString);
InstanceView view = _instanceStore.Execute
(_instanceStore.CreateInstanceHandle(),
new CreateWorkflowOwnerCommand(),
TimeSpan.FromSeconds(30));
_instanceStore.DefaultInstanceOwner = view.InstanceOwner;

WorkflowApplication i = new WorkflowApplication(ActivityXamlServices.Load(path), parameters);
i.InstanceStore = _instanceStore;
i.PersistableIdle = (waiea) => PersistableIdleAction.Unload;
i.Run();
return i.Id.ToString();

}
}
}
...全文
98 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不用WF
oXueYuZhiYing 2014-05-10
  • 打赏
  • 举报
回复
不用WF用什么?

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧