Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 采取措施避免';未构造消息';编译器错误是否违反BizTalk消息不变性规则?_.net_Biztalk - Fatal编程技术网

.net 采取措施避免';未构造消息';编译器错误是否违反BizTalk消息不变性规则?

.net 采取措施避免';未构造消息';编译器错误是否违反BizTalk消息不变性规则?,.net,biztalk,.net,Biztalk,我已经使用BizTalk一段时间了,其中一个核心规则是消息是不可变的,即消息一旦创建就不能更改。这很有道理 在BizTalk业务流程中,当使用作用域块时,您可能遇到的一种常见情况是“使用未构造消息”编译器错误,其中在作用域块内使用的消息未100%确定为在作用域内初始化。一个常见的解决方法是在作用域块之外有一个赋值形状,以某种方式初始化消息(通过某种“虚拟”映射或用基本的XMLDocument对象填充消息的赋值形状等)。然后编译器就高兴了 但是。。。当然,这违反了规则?消息在作用域之外给出一个值,

我已经使用BizTalk一段时间了,其中一个核心规则是消息是不可变的,即消息一旦创建就不能更改。这很有道理

在BizTalk业务流程中,当使用作用域块时,您可能遇到的一种常见情况是“使用未构造消息”编译器错误,其中在作用域块内使用的消息未100%确定为在作用域内初始化。一个常见的解决方法是在作用域块之外有一个赋值形状,以某种方式初始化消息(通过某种“虚拟”映射或用基本的XMLDocument对象填充消息的赋值形状等)。然后编译器就高兴了

但是。。。当然,这违反了规则?消息在作用域之外给出一个值,然后在作用域块的更下方,可以通过映射或其他操作给出另一个值。

否,不是全部。:)

虽然消息实例是不可变的,但变量可以像任何其他.Net程序一样随意(重新)分配


因此,编译器实际上抱怨的是一个可能未赋值的变量。只是XLang编译器认为未分配的消息变量特别糟糕。

谢谢。显然,orch中的消息变量与我没有区分的实际消息实例之间存在根本区别。