2012-04-30 191 views
0

我在我的計算機中安裝了MQ客戶端(7.0.1),並使用c#編寫應用程序以連接到遠程Websphere MQ服務器。我在我的項目中引用了amqmdnet.dll。下面是我的連接代碼:MQ客戶端連接到MQ服務器

MQEnvironment.Host = ip地址;

MQEnvironment.Channel = channel name; 
MQEnvironment.Port = 1414; 
MQQueueManager qmgr = new MQQueueManager("qm name"); 

但是,當新的MQQueueManager(),拋出一個類型初始化爲 'IBM.WMO.MQ.QueueManager'。 我對這個例外非常困惑。 你能幫我嗎?

回答

1

你能給出異常的完整堆棧跟蹤嗎?創建類實例失敗時會發生類型初始化程序異常。這個異常基本上是一個內部異常的包裝。因此瞭解內部異常的細節很有幫助。您可以將MQQueueManager qmgr = new MQQueueManager("qm name");置於try/catch塊中並打印完整的異常。

從我所知道的情況來看,如果沒有安裝WMQ客戶端庫,通常會發生這種異常。 amqmdnet程序集引用其他WMQ庫,例如amqxcs2.dll,如果未安裝它們,則可引發此異常。

您可以使用dspmqver -a命令輸出檢查已安裝的內容。

+0

非常感謝你的回覆!這個問題讓我很困惑,現在它再次運行,我什麼也沒做。你說:「amqmdnet彙編指的是其他WMQ庫,例如amqxcs2.dll」,你確定關於它?因爲從IBM MQ文檔中,我知道amqmdnet.dll引用了amqmdxcs.dll。我只在我的項目中引用amqmdnet.dll,並將amqmdnet.dll和amqmdxcs.dll放在同一個目錄中。 –

+0

是的,你只需要在你的項目中引用amqmdnet.dll。 amqmdnet的依賴庫將自動加載。 – Shashi

相關問題