我有一个测试Biztalk项目,其中包含一个Orchestration,其中包含几个Receive形状,Send Shapes和Expression Shape。 Expression形状调用一个用C#编写的引用dll。 C#dll在GAC中,该类标记为Serializable,并且该类只有一个静态方法,该方法应该在文件夹的磁盘上创建文件。
所有内容都构建和部署,但是当我通过在Receive文件夹中放置文件来启动Orchestration时,除了表达式形状之外,所有形状都执行它们应该执行的操作。代码肯定有效,因为我在本地测试它,目录是BT应用程序已经访问的目录,所以我不认为这是一个安全问题。
下面是C#代码,下面是我如何从Expression形状调用代码,任何人都可以提出任何有关出错的建议吗?:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace TestHelp
{
[Serializable]
public class TestWrite
{
public static void CreateFile()
{
FileInfo fi = new FileInfo(@"C:\Unrecorded\Out\DataForProcess\Test.txt");
fi.Create();
}
}
}
表情形状代码:
TestHelp.TestWrite.CreateFile();
答案 0 :(得分:2)
如果我不得不猜测我可能会说BizTalk正在选择一个较旧的编排dll副本。您确定在GAC上更新了它或在尝试之前重新部署了吗?除此之外,找出正在发生的事情的最简单方法是将调试器附加到BizTalk实例(BTSNTSvcs.exe)并尝试调试它...如果您的C#程序集确实正在加载,您可以轻松地检查这种方式执行。