有没有办法通过代码自动打开或关闭 BizTalk 接收位置?
有没有办法自动打开或关闭 BizTalk 中的接收位置?似乎应该有某种 API 或类似的东西来处理这种事情。我更喜欢使用 C# 工作,但 WMI 或某种脚本也可以工作。
Is there a way to automate the turning on or off of a Receive Location in BizTalk? It seems like there should be some kind of API or some such for this kind of thing. I would prefer to work in C#, but WMI or some kind of script would work too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
正如您所发现的,除了 ExplorerOM 之外,您还可以使用 WMI 启用/禁用接收位置(并控制发送端口)。
我有一个示例 PowerShell 脚本,它展示了如何执行这些操作 如果您有兴趣,请点击这里。
Besides ExplorerOM, as you've found out, you can also enable/disable receive locations (and control send ports) using WMI.
I have a sample PowerShell script that shows how to do those things here, if you're interested.
我找到了解决方案。看来 Microsoft.BizTalk.ExplorerOM.dll 就是我想要的。以下是 BizTalk 文档的摘录,应该可以帮助其他人入门:
需要注意的是,显然此 dll 不支持 64 位。因为我只是编写一个简单的实用程序,所以对我来说没什么大不了的(只需编译为 32 位),但这是需要注意的事情。
I found a solution. It appears that the Microsoft.BizTalk.ExplorerOM.dll is what I wanted. Here is an excerpt from the BizTalk documentation that should get anyone else started:
One caveat, apparently this dll does not support 64 bit. Since I am only writing a simple utility it's not a big deal for me (just compiling as 32-bit), but it is something to be aware of.
很高兴看到您似乎找到了解决方案。
想要提及一个类似的替代方案,它也使用 Powershell、ExplorerOM 和 BizTalk API 将 BizTalk 工件设置为各种状态。
接收位置就是其中之一。
该脚本接受 XML 配置文件,您可以在其中列出工件以及要将其设置为什么状态。
该脚本已发布到 Microsoft 脚本中心:
http://gallery.technet.microsoft.com/scriptcenter/Set-Artifact -状态-270f43a0
Glad to see that you seem to have found a solution.
Wanted to mention a similar alternative which is also using Powershell, ExplorerOM, and the BizTalk API to set BizTalk artifacts to various statuses.
Receive Locations being one of them.
The script accepts XML configuration files, where you list the artifacts and what status you would like to set them to.
The script has been published to Microsoft Script Center:
http://gallery.technet.microsoft.com/scriptcenter/Set-Artifact-Status-270f43a0
回应 Alhambraeidos 的评论。以下是我在 Windows 应用程序中用于远程禁用接收位置的一些代码摘录:
您会注意到我遗漏了一些代码,就像我正在创建一个名为“位置”的接收位置字典一样,但您应该能够得到这个想法。该模式几乎适用于您想要与之交互的任何 BizTalk 对象。
In response to Alhambraeidos comment. Here's is some excerpts of code I used in a Windows app to disable a Receive Location remotely:
You'll notice that there is some I left out, like I was creating a dictionary of receive locations called "Locations", but you should be able to get the idea. The pattern pretty much holds true for any BizTalk object you want to interact with.