Assume that you run a Windows Management Instrumentation (WMI) query on a computer that is running BizTalk Server 2006 R2, BizTalk Server 2010, or BizTalk Server 2013. If the query uses a service instance ID against the MSBTS_MessageInstance WMI class, the query may return an incorrect result.
For example, assume that you use the following code to create a WMI query in a given service instance ID. If the service instance contains two messages, only one message is returned.
Note SERVICE_INSTANCE_ID is a string representation of the service instance ID (GUID).
For example, assume that you use the following code to create a WMI query in a given service instance ID. If the service instance contains two messages, only one message is returned.
using System.Management;
ManagementScope mgmtScope = new ManagementScope();
mgmtScope.Path.NamespacePath = "root\\MicrosoftBizTalkServer";
ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher(mgmtScope, new SelectQuery("MSBTS_MessageInstance", "ServiceInstanceId = \"{" + SERVICE_INSTANCE_ID + "}\""));
objectSearcher.Options.EnsureLocatable = true;
ManagementObjectCollection coll = objectSearcher.Get();