如何更改 NServiceBus 中的 MSMQ 响应队列名称格式?

发布于 2024-10-14 16:27:04 字数 330 浏览 3 评论 0原文

我正在尝试通过 VPN 连接从家里的客户端访问工作服务器上的 NServiceBus 服务。消息正常到达服务,但响应队列名称的格式为

DIRECT=OS:MyHomePCName\private$\MyClientQueueName

回复消息位于服务器的传出队列中,可能是因为它无法解析 MyHomePCName。发送消息时可以更改响应队列名称为以下格式吗?

DIRECT=TCP:MyHomeIPAddress\private$\MyClientQueueName

当然,我仍然存在发送 VPN 连接的 IP 地址的问题,但我目前只是在测试,暂时不介意在客户端中对其进行硬编码。

I am trying to access an NServiceBus service on a work server from a client at home over a VPN connection. The message gets to the service OK but the response queue name has the format

DIRECT=OS:MyHomePCName\private$\MyClientQueueName

The reply message sits in the server's outgoing queue presumably because it can't resolve MyHomePCName. Can I change the response queue name when sending the message to the following format?

DIRECT=TCP:MyHomeIPAddress\private$\MyClientQueueName

Of course I still have the problem of sending the IP address for the VPN connection, but I'm only testing at the moment and don't mind hard coding that in the client for now.

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

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

发布评论

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

评论(1

別甾虛僞 2024-10-21 16:27:04

如果您输入“$queueName@$homeIpAddress”,NSB 应该正确格式化它。这是它使用的代码:

public static string GetFullPath(string value){

IPAddress ipAddress;
if (IPAddress.TryParse(GetMachineNameFromLogicalName(value), out ipAddress))
{
    return (PREFIX_TCP + GetFullPathWithoutPrefix(value));
}
return (PREFIX + GetFullPathWithoutPrefix(value));

}

NSB should format it correctly if you put "$queueName@$homeIpAddress". Here is the code it uses:

public static string GetFullPath(string value){

IPAddress ipAddress;
if (IPAddress.TryParse(GetMachineNameFromLogicalName(value), out ipAddress))
{
    return (PREFIX_TCP + GetFullPathWithoutPrefix(value));
}
return (PREFIX + GetFullPathWithoutPrefix(value));

}

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