2012-12-21 12 views
1

希望這是一個簡單的,我正在做一些愚蠢的事情。我在VS 2012中的.Net 4.5上有一個Web應用程序,它在某個時候調用了一個方法,該方法又向Azure中的服務總線發送消息。在本地運行的服務會檢索此消息並對其進行處理。大。Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling RetryPolicy和Microsoft.ServiceBus.dll

但是,我始終得到異常(VS設置爲未處理中斷),這些異常在Microsoft.ServiceBus.dll 1.6.0.0版上給出了相似的文件加載異常,機器上的版本爲1.7.x.x或1.8.x.x.我可以成功發送和接收消息,所以我不確定這會產生什麼影響!但只有在通過Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling命名空間中的ExecuteAction方法通過非常有用的RetryPolicy類調用服務總線調用時纔會發生。我只能假設這個組件是針對1.6.0.0構建的,但我似乎擁有最新版本。

有沒有其他人遇到過這個問題,以及如何最好地解決它?運行兩個版本的Microsoft.ServiceBus是否明智?即。用於雲服務的1.6.0.0和用於Web應用程序的1.7/1.8.x.x?我在哪裏可以獲得1.6.0.0?

回答

0

Windows Azure SDK 1.6包含Microsoft.ServiceBus.dll 1.6(這是2011年11月發佈的版本)。你可以get it from here

現在,你確定EnterpriseLibrary正在尋找特定的版本?在過去(我不記得具體是什麼時候),在安裝SDK時SB組件被添加到GAC中,所以庫可能期望SB組件被GACced。在使用Service + dll的年份+舊版本之前,您可能需要使用融合日誌進行驗證。

相關問題