2010-12-21 44 views
0

這個問題與this one相關。相應的WCF綁定使用的實際MSMQ地址是什麼?

鑑於WCF綁定使用net.msmq:// URL(例如net.msmq://server/private/nc_queue),如何知道該URL轉換到的實際MSMQ地址是什麼?是否有某種可以激活的痕跡?或者一個可以幫助捕獲地址的外部工具?

謝謝。

EDIT1

OK,我欠了澄清。可以通過相應的.NET API直接與MSMQ交談。在MSMQ超過其原生端口1801的情況下,我會用這個MSMQ地址:

FormatName:Direct=OS:server\private$\nc_queue 

當MSMQ配置通過HTTP地址更改爲這樣的事情:

FormatName:Direct=http://server/msmq/nc_queue 

但WCF結合使用標準URL描述的地址,如:

net.msmq://server/private/nc_queue 

所以,我怎麼能知道什麼是真正的MSMQ地址(一個與FORMATNAME),以該net.msmq://是TRA nslated?

回答

2

我真的不明白你的問題....如果你使用WCF netMsmqBinding,你基本上將MSMQ消息丟棄到MSMQ隊列中。所以,你真的是一個隊列名稱,你正在處理 - 不是一個URL .....

net.msmq://server/private/nc_queue 

這轉化爲所謂的nc_queueserver一個MSMQ專用隊列 - 究竟什麼是真的你正在嘗試做什麼?我不明白.....謹慎澄清??

在此期間,檢查出MSMQ,WCF和IIS湯姆·霍蘭德的三部分博客文章系列:

更新:我想我開始瞭解你的問題 - 如果你使用WCF netMsmqBinding,y您直接連接到MSMQ - 這是而不是「MSMQ-over-HTTP」。如果你想從WCF客戶端設置和使用MSMQ-over-HTTP,據我所知,你會直接與一個普通的HTTP服務通信,所以你必須使用basicHttpBinding(或wsHttpBinding) - 而不是具體netMsmqBinding

+0

我編輯了這個問題。 – mark 2010-12-21 12:46:25

+0

@mark:更新了我的答案:-) – 2010-12-21 12:49:41

+0

我懷疑這一點。 wsHttpBinding沒有MSMQ特定參數。 – mark 2010-12-22 10:12:20