【问题标题】:Custom .net component not firing from within Biztalk Expression Shape自定义 .net 组件未从 Biztalk 表达式形状中触发
【发布时间】:2011-02-08 21:36:57
【问题描述】:

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

一切都构建和部署,但是当我通过将文件放在接收文件夹中来启动编排时,所有形状都会执行它们应该做的事情,除了表达式形状。该代码确实有效,因为我在本地对其进行了测试,并且该目录是 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();

【问题讨论】:

  • 捕获任何异常并将它们写入事件日志。
  • 试过了,没有记录任何东西,因为我认为 dll 没有被实例化。似乎 Biztalk 只是忽略了 Expression 形状。

标签: c# biztalk


【解决方案1】:

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

【讨论】:

  • 在调试 BTSNTSvcs.exe 之前,我会尝试使用 Orchestration Debugger,因为您猜测旧版本的 Orchestration 会被执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
相关资源
最近更新 更多