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 @ 2007-12-04 16:40  菩提树下的杨过  阅读(2699)  评论(1编辑  收藏  举报