BizTalk WMI 远程包装器

发布于 2024-08-09 09:09:55 字数 320 浏览 5 评论 0原文

我使用 .Net Framework SDK 中的 MgmtClassGen.exe 为 BizTalk 工件(例如主机、主机实例等)生成一些 WMI 包装器类。

我使用 HostSetting.GetInstances() 来获取本地主机(本地 BizTalk Server)。这很好用。我现在正在寻找一种方法,可以对另一台具有不同 BizTalk 管理数据库名称的 BizTalk 计算机上的主机执行相同的操作。我找不到使用包装类来执行此操作的方法。我确实想要包装类。知道如何连接到服务器“ServerX”上名为“MyManagementDB”的 BizTalk 管理数据库吗?

提前致谢!

I'm using MgmtClassGen.exe from the .Net Framework SDK to generate some WMI wrapper classes for BizTalk artifacts like hosts, host instances, etc.

I'm using HostSetting.GetInstances() to get the local hosts (local BizTalk Server). This works fine. I'm now looking for a way to do the same for hosts on another BizTalk machine with a different BizTalk management database name. I can't find a way to do this using the wrapper classes. I do want the wrapper classes. Any idea how to connect to BizTalk Management database with name 'MyManagementDB' on server 'ServerX'?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丶视觉 2024-08-16 09:09:55

您可以通过在 WMI 范围声明中指定来选择要连接的不同服务器。

在您的代码中,您将具有如下所示的内容:

ManagementClass objHostSettingClass = new ManagementClass("root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null);

构造函数调用中的第一个参数是范围。这可以包括服务器名称,如下所示:

ManagementClass objHostSettingClass = new ManagementClass("\\\\ServerX\\root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null);

我认为您不需要知道消息框名称 - WMI MicrosoftBizTalkServer 提供程序应该允许您直接访问服务器上的主机实例。

编辑

正如 Maxime 在下面的评论中指出的那样,有一种设置 WMI 范围的方法可以与 MgmtClassGen.exe 工具生成的代码更加集成。

这允许您设置生成的类的 StaticScope 属性。这仍然涉及构建一个定义范围的字符串,但提供了一个地方来定义它。 Maxime 有一篇很好的文章,定义了一个辅助类构建 StaticScope 字符串。

You can choose a different server to connect to by specifying it in the WMI scope declaration.

In your code you will have something like the following:

ManagementClass objHostSettingClass = new ManagementClass("root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null);

The first parameter in the constructor call there is the scope. This can include a server name as shown below:

ManagementClass objHostSettingClass = new ManagementClass("\\\\ServerX\\root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null);

I don't believe that you will need to know the message box name - the WMI MicrosoftBizTalkServer provider should let you access the host instances on the server directly.

EDIT

As Maxime points out in the comment below, there is a way of setting the WMI scope that more integrated with the code generated by the MgmtClassGen.exe tool.

This allows you to set the StaticScope property of the generated classes. This still involves building a string defining the scope but gives a single place to define it. Maxime has a nice post defining a helper class that builds the StaticScope string.

谜兔 2024-08-16 09:09:55

我知道这可能被认为是题外话,因为您在某种程度上专门询问 WMI,但还有一个 .NET 库提供对所有 BizTalk 工件(称为 Microsoft.BizTalk.ExplorerOM.dll)的访问。我用它来打开/关闭小型 C# 应用程序中的接收位置。以下是我之前的 Stack Overflow 问题的链接,其中包含更多信息:

有没有办法通过代码自动打开或关闭 BizTalk 接收位置?

只是通过代码更改或管理 BizTalk 工件的另一种选择。

I know this could be considered off topic since you are somewhat asking specifically of WMI, but there is also a .NET library that provides access to all of the BizTalk artifacts called Microsoft.BizTalk.ExplorerOM.dll. I used it to turn on/off receive locations in a small C# app. Here is a link to my previous Stack Overflow question with more information:

Is there a way to automate turning a BizTalk Receive Location on or off through code?

Just another option for altering or administrating BizTalk artifacts through code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文