msmq在Internet上访问的问题(只能发送,不能接收)

今天测试了一下,message queue的private队列,在internet上可以发送,只要知道服务端的IP地址即可(当然服务端的队列权限要给足)

 

注意:队列path的引用必须参照下面的格式

 

FormatName:DIRECT=tcp:222.23.225.3\Private$\Demo

 

结论:

在客户端与服务端不在同一台机器上时,只能发送,不能接收(即不能远程接收internet的private队列)

 

远程不能接收的解决办法:

1。如果服务端有控制权限,可以在服务端布署一个程序,功能为:实时监听本机的消息队列,只要有消息,就将消息接收并插入数据库的一个临时表,然后在远程客户端通过数据库来访问临时表,这样变相的就得到了消息内容

2。如果服务端无控制权限,但有上传aspx权限,建一个aspx页面,功能为把服务端队列中的所有内容,接收转移到数据库的临时表,在远程客户端要得到消息队列前,用代码访问一下这个页面(比如发一个http访问请求),剩下的操作类似方案1(不足:如果没有及时访问这个页面,也就是说没有及时取走队列中的内容,队列有可能“暴满”)

posted @   菩提树下的杨过  阅读(2705)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示