监视Biztalk发送端口服务实例的“活动状态”

监视Biztalk发送端口服务实例的“活动状态”,biztalk,biztalk-2010,biztalk-2013,Biztalk,Biztalk 2010,Biztalk 2013,团队 我的biztalk发送端口实例挂起并在较长时间内保持活动状态。我想在C的帮助下监视发送端口的活动实例。 我打算运行一段代码,检查作为参数传递的发送端口是否仍处于运行状态。有人能帮我处理这段代码吗?使用WMI: 要解决实际问题:BizTalk 2016中的SFTP适配器具有使用最新版本FTP代码的功能。这可能会解决稳定性问题 假设您的BizTalk 2013标记中没有使用2016版本,那么请仔细检查您是否至少使用了该版本,因为该版本解决了一些关键的SFTP错误。我认为您看到的问题是错误的。首

团队

我的biztalk发送端口实例挂起并在较长时间内保持活动状态。我想在C的帮助下监视发送端口的活动实例。 我打算运行一段代码,检查作为参数传递的发送端口是否仍处于运行状态。有人能帮我处理这段代码吗?

使用WMI:

要解决实际问题:BizTalk 2016中的SFTP适配器具有使用最新版本FTP代码的功能。这可能会解决稳定性问题


假设您的BizTalk 2013标记中没有使用2016版本,那么请仔细检查您是否至少使用了该版本,因为该版本解决了一些关键的SFTP错误。

我认为您看到的问题是错误的。首先,为什么发送端口长时间处于活动状态。它使用的是什么适配器?这只是一个一次性事件,但造成了巨大的损失,我们希望在将来避免这种情况。这使用了SFTP适配器。感谢您的更新。我可以在此查询中传递特定发送端口名称吗?你是怎么做到的?这将是从MSBTS_ServiceInstance中选择*,其中ServiceStatus=1或ServiceStatus=2,名称为%portname%。我建议您尝试此代码并调试在“searcher”对象中获得的内容。我认为portname不起作用,请参阅:了解您可以从该对象获得什么。我正在尝试使用powershell,但我不知道如何替换fiter中的发送端口名。你能帮助我吗?[ARRAY]$active=get wmiobject MSBTS_ServiceInstance-命名空间'root\MicrosoftBizTalkServer'-filter'ServiceStatus=2以及如何按名称搜索'-ErrorAction SilentlyContinue写入主机活动实例:$active.Count
public static int GetRunningServiceInstanceCount()
{
    int countofServiceInstances = 0;
    try
    {
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\MicrosoftBizTalkServer", "SELECT * FROM MSBTS_ServiceInstance WHERE ServiceStatus = 1 or ServiceStatus = 2");
        countofServiceInstances = searcher.Get().Count;
        return countofServiceInstances;
    }
    catch (ManagementException exWmi)
    {
        throw new System.Exception("An error occurred while querying for WMI data: " + exWmi.Message);
    }
}