0

我有一个 asp.net 应用程序,用于启动/停止 BizTalk server 2006 r2 的应用程序和端口。我已经使用“Microsoft.Biztalk.explorerom.dll (C:/Program Files/BizTalk Server 2006/Developer tool)”来实现这一点。这在开发机器上运行良好,因为 biz talk 服务器安装在本地机器上。但是在生产环境中(asp.net web 服务器,windows 2003 和 iis 6.0)...这给了 System.nullreferenceexception (object reference not set..) at

BtsCatalogExplorer explorer = (BtsCatalogExplorer)myGroup.CreateInstance(typeof(BtsCatalogExplorer))

我的 BizTalk 服务器和 SQL 服务器在两个不同的盒子上。在我的设置(asp.net Web 应用程序)中。将 Microsoft.Biztalk.explorerom.dll 和 Microsoft.Biztalk.Applicationdeployment.engine.dll 添加到 GAC。但仍然没有运气。

即使我连接到不同的 BizTalk 服务器,是否需要在本地计算机上安装 BizTalk 服务器?

4

2 回答 2

0

我也向微软提出了完全有效的问题。最重要的是,它是一个许可问题。您必须拥有 BT 的许可证才能为其使用对象模型。

我从来没有尝试过让“仅限库”版本工作。我只是选择了直通网络服务。

只是为了跟进您当前的想法/进展;您可能需要检查主 BTSExplorerOM.dll 的依赖链,看看是否有任何您遗漏的参考。我很确定它总共使用了 2 个以上的程序集。

BT 使用许多不同的目录来存储它的程序集(例如,管道组件是从 BT 的子目录加载的,而不是从 GAC 加载的)。

您能否从收到的“NullReferenceException”中获得更多详细信息?就像哪个对象/库导致它一样。您可以尝试使用 FUSLOGVW.exe 来查看所有程序集的融合是否成功并从那里获取。

希望这可以帮助,

于 2010-02-12T18:56:18.800 回答
0

恐怕我不得不回答“是的,如果你想使用 BTSCatalogExplorer,你必须安装 BizTalk”。我很确定这对于 BT 2006 和更早的版本是正确的。只需要安装。它不必是运行任何东西的活动成员(iow 没有主机实例),只是组的一部分。

我也知道 BT 2009 带有一个新的“构建工具”。这允许您在没有安装 BT 的情况下构建 BT 项目。也许这也允许与 BT 管理数据库进行远程通信(通过 BTSCatalogExplorer),但我还没有研究或尝试过这个。

希望这对您有所帮助;是的,WebFarms 和 BT 是一个昂贵的选择。建议; 从外部进行直通服务,将其传递到安装了 BT 的机器上。节省大量许可证(但可能是性能瓶颈)

希望这可以帮助,

于 2010-02-12T08:40:38.083 回答