gpt4 book ai didi

c# - ActivityContext、LocationReferenceEnvironment、Arguments 和 Variables 在 WF4 中如何工作?

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:26 24 4
gpt4 key购买 nike

我知道流程控制和上下文在 WF4 上是分开的,但我想问您如何控制给定工作流的上下文。

WorkflowApplication 有一个 HostEnvironment 属性,根据文档获取或设置工作流实例的参数和变量的根环境。。 p>

LocationReferenceEnvironmentActivityContext 本身有什么区别?谁创建和控制上下文?据我了解,例如,每个事件都有自己的上下文,但并非所有事件都有变量。

我想最大程度地控制给定工作流的上下文,但我无法理解所有这些东西的内部工作原理。有人可以向我解释和/或从编程的角度向我推荐一些好的文章吗?不幸的是,MSDN,更具体地说是 .NET Framework 类库,很少有好的 WF4 文档。

最佳答案

我认为这里没有关于内部结构的任何文档。不确定它是否对您有很大帮助,即使不是全部,大部分内容都是 WF4 内部的,即使您想更改也无法更改。

基本上,位置引用是存储数据的地方,是工作流中变量公开的内容。默认情况下,您只能将变量添加到复合事件。这里没有技术原因,只是一个变量用于在多个事件之间共享数据,因此将它们添加到没有 child 或只有一个 child 的事件中不会给你带来任何好处。也就是说,如果您愿意,您可以在自己的事件中自由地这样做。

您要实现什么需要最大程度地控制事件上下文?

更新:不确定这是否有帮助,但这是在代码中创建 VB 表达式的方法:

var wf = new Sequence()
{
Variables =
{
new Variable<string>("var1", "Some value"),
new Variable<int>("var2", c=> Environment.TickCount),
},
Activities =
{
new WriteLine() {
Text = new VisualBasicValue<string>("\"String value: \" & var1 ")
},
new WriteLine() {
Text = new VisualBasicValue<string>("\"Int value: \" & var2 ")
}

}
};

WorkflowInvoker.Invoke(wf);

关于c# - ActivityContext、LocationReferenceEnvironment、Arguments 和 Variables 在 WF4 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com