【发布时间】:2012-06-07 13:59:49
【问题描述】:
我正在从事一个工作流基础项目,但遇到了麻烦。我解释我的项目:
我有一个 MainWindow,我在其中设置了我想运行的工作流名称。当我运行这个工作流时,我调用 VisualTracking.cs 类来查看调试在哪里。这个cs类构造函数有以下方法(WorkflowDesigner wd,string filePath,string name) 该名称是我在主窗口中设置的工作流名称。
我有一个 dll 项目,其中包含一些我在之前重新托管的工作流中使用的自定义活动。在其中一项活动中,我有一个称为 textValue 的 InArgument。我希望这个 InArgument 获得工作流名称值,因此我执行以下代码:
主窗口:
......
VisualTracking tracker = new VisualTracking(wd, workflowFilePathName, this.workflowName);
.....
VisualTracking 类:
.......
private string workflowName { get; set; }
.......
public VisualTracking(WorkflowDesigner wd,string filePath,string name) {
.......
foreach (Activity v in idActivityMap.Values)
{
string val = v.GetType().FullName;
activityLists.Add(val);
if (v.GetType().FullName == "RulesDll.Status_Activity.StatusActivity")
{
((StatusActivity)v).textValue = this.workflowName;
}
}
........
在每个工作流活动的这个 foreach 中,我检查他的命名空间是否是我想要设置工作流名称的目标活动。
状态活动
........
public InArgument<string> textValue;
public InArgument<string> Text
{
get { return this.textValue; }
set { this.textValue = value; }
}
........
protected override void Execute(CodeActivityContext context)
{
...........
string text = context.GetValue(this.Text);
...........
所以我希望在字符串文本中具有我在视觉跟踪类中关联的 workflowName 值....但是当我调试时,总是将值检索为 null....
任何解决方案将不胜感激!!!!!!
【问题讨论】:
标签: c# visual-studio-2010 workflow-foundation-4