Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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
C# 自定义.net组件未从Biztalk表达式形状内触发_C#_Biztalk - Fatal编程技术网

C# 自定义.net组件未从Biztalk表达式形状内触发

C# 自定义.net组件未从Biztalk表达式形状内触发,c#,biztalk,C#,Biztalk,我有一个测试Biztalk项目,其编排包含两个接收形状、发送形状和一个表达式形状。表达式形状调用用C#编写的引用dll。C#dll位于GAC中,该类被标记为可序列化,并且该类只有一个静态方法,应该在文件夹中的磁盘上创建文件 所有内容都会生成和部署,但当我通过将文件放入Receive文件夹开始编排时,所有形状都会执行它们应该执行的操作,除了表达式形状。这段代码确实有效,因为我已经在本地对它进行了测试,而且该目录是BT应用程序已经在访问的目录,所以我认为这不是一个安全问题 下面是C#代码,下面是我如

我有一个测试Biztalk项目,其编排包含两个接收形状、发送形状和一个表达式形状。表达式形状调用用C#编写的引用dll。C#dll位于GAC中,该类被标记为可序列化,并且该类只有一个静态方法,应该在文件夹中的磁盘上创建文件

所有内容都会生成和部署,但当我通过将文件放入Receive文件夹开始编排时,所有形状都会执行它们应该执行的操作,除了表达式形状。这段代码确实有效,因为我已经在本地对它进行了测试,而且该目录是BT应用程序已经在访问的目录,所以我认为这不是一个安全问题

下面是C#代码,下面是我如何从表达式形状中调用代码的,有人能提供一些关于出错原因的建议吗

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();

如果我不得不猜测的话,我会说BizTalk可能正在挑选编排dll的旧副本。您确定在尝试之前已在GAC上更新或重新部署它吗?除此之外,了解发生了什么最简单的方法就是将调试器附加到BizTalk实例(BTSNTSvcs.exe)并尝试对其进行调试。。。如果确实加载并执行了C#程序集,您可以很容易地通过这种方式进行检查。

捕获任何异常并将其写入事件日志。尝试过这种方法后,没有记录任何内容,因为我认为dll没有被实例化。Biztalk似乎只是忽略了表达式形状。在调试BTSNTSvcs.exe之前,我会尝试Orchestration Debugger,因为您猜测执行的是旧版本的业务流程。