自定义.net组件不从Biztalk表达式形状中触发

时间:2010-04-16 15:35:54

标签: c# biztalk

我有一个测试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();

1 个答案:

答案 0 :(得分:2)

如果我不得不猜测我可能会说BizTalk正在选择一个较旧的编排dll副本。您确定在GAC上更新了它或在尝试之前重新部署了吗?除此之外,找出正在发生的事情的最简单方法是将调试器附加到BizTalk实例(BTSNTSvcs.exe)并尝试调试它...如果您的C#程序集确实正在加载,您可以轻松地检查这种方式执行。