Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解析MSMQ路径以获取目标计算机地址_C#_.net_Vb.net_Msmq - Fatal编程技术网

C# 解析MSMQ路径以获取目标计算机地址

C# 解析MSMQ路径以获取目标计算机地址,c#,.net,vb.net,msmq,C#,.net,Vb.net,Msmq,.NET framework或Win32 API中是否已经提供了用于解析MSMQ路径的内容?我只需要从MSMQ路径字符串中获取目标计算机的网络地址。我希望会有一个类似于SqlConnectionStringBuilder类之类的简单类,但是如果有,我似乎找不到它。例如: Formatname:DIRECT=TCP:192.168.1.1\private$\MyQueueName-->192.168.1.1 Formatname:DIRECT=OS:MyComputerName\private$

.NET framework或Win32 API中是否已经提供了用于解析MSMQ路径的内容?我只需要从MSMQ路径字符串中获取目标计算机的网络地址。我希望会有一个类似于
SqlConnectionStringBuilder
类之类的简单类,但是如果有,我似乎找不到它。例如:

  • Formatname:DIRECT=TCP:192.168.1.1\private$\MyQueueName
    -->
    192.168.1.1
  • Formatname:DIRECT=OS:MyComputerName\private$\MyQueueName
    -->
    MyComputerName
我知道我可以用String方法或RegEx解析,但我希望有一个工具能够正确地支持MSMQ路径语法的所有变体。

您可以创建一个围绕mqoa30.tlb的

这可以在system32文件夹(或wow64)中找到


然后,您可以创建MSMQManagement对象的实例并调用该属性。

这与仅创建
System.Messaging.MessageQueue
对象,然后从该对象访问
机器
属性有什么不同?这似乎是同样的事情,
MessageQueue
类具有作为托管代码的优势。这是一个有趣的选择,但它似乎超出了简单的解析。它似乎实际上打开了队列,并且在队列不存在的情况下失败。Steve您可能是对的-我假设您无法从托管代码访问机器名。