大約一年前,我能夠在一個WorkerRole中使NSB站起來,在Azure上工作得很好。我們實施了一些服務。它花了一些工作,然後圍繞依賴和版本進行了幾個問題的旋轉,然而經過很多調整,我們得到了一些東西並運行起來。NServiceBus.Azure - AzurePubSub開始的主機循環開始
因此,快進到今天,新產品試圖站起來舉一個簡單的例子,在我們正在構建的系統的NSB v4.0的探索階段進行概念驗證。 我想站在這裏的AzurePubSub示例; https://github.com/Particular/NServiceBus.Azure/tree/develop/IntegrationTests/AzurePubSub
只花了一段時間才讓樣本運行。我已經記錄了我已經採取的步驟;
使用VS 2K12,NSB 4.0(最新的穩定)
- 打開AzurePubSub項目
- 提示您轉換該項目以面向Windows Azure工具 - 2.1(轉換)
- 降NSB從裁判MyMessages,用的NuGet NServiceBus.Interfaces PKG
- 清潔更換了MyMessages構建
- OrderService,下降NServiceBus,NServiceBus.Core,NServiceBus.Azure,NServiceBus.Hosting.Azure,Common.Log ging
OrderService,上面用NuGet包(NServiceBus.Hosting.Azure)替換。
OrderWebsite下降NServiceBus,NServiceBus.Azure,NServiceBus.Core,Common.Logging
OrderWebsite,上面NuGet包(NServiceBus.Azure)代替。
實現了一個乾淨的解決方案構建!
調試
無法加載文件或程序集 'Microsoft.WindowsAzure.Diagnostics,版本= 2.1.0.0,文化=中性公鑰= 31bf3856ad364e35' 或它的一個依賴。定位的程序集清單定義與程序集引用不匹配。 (從HRESULT異常:0x80131040)
添加綁定重定向手動OrderWebsite(任選地可以REF的NuGet用於診斷)
- 調試
C不應加載文件或程序集「Microsoft.WindowsAzure.Diagnostics,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35」或其某個依賴項。定位的程序集清單定義與程序集引用不匹配。(從HRESULT異常:0x80131040)
添加綁定重定向手動OrderService(任選地可以REF的NuGet用於診斷)
調試
不能加載 文件或程序集'Microsoft.WindowsAzure.Diagnostics,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。定位的程序集清單定義與程序集引用不匹配。 (從HRESULT異常:0x80131040)
- 掉落Microsoft.WindowsAzure.Diagnostics附圖2.0.0.0
添加Microsoft.WindowsAzure.Diagnostics參考2.1.0.0(文件版本2.1.6493.0)同時OrderService和OrderWebsite (左綁定重定向)
調試 OrderWebsite加載得很好。 OrderService被陷入循環通過Azure Compute Emulator開始和停止。 EndpointConfiguration ctor永遠不會被調用,也不會調用DefineRouting類IProvideConfiguration實現。
Azure計算仿真器輸出中:
[織物]角色實例:deployment21(119).AzureService.OrderService.0 [織物]角色狀態不健康 [診斷]:UpdateState(微軟Windows Diagnostics.DiagnosticMonitorStartupInfo,Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorConfiguration) [Diagnostics]:獲取互斥體 [診斷]信息:C:\ Users \ Ryan \ AppData \ Local \ dftmp \ Resources \ a903dc1b-98a5-4a78- b04d-c533e881564d \目錄\ DiagnosticStore \星期一itor [診斷]信息:D:\ GitHub \ NServiceBus.Azure \ IntegrationTests \ AzurePubSub \ csx \ Debug \ roles \ OrderService \ diagnostics \ x64 \ monitor \ MonAgentHost.exe -LocalPath「C:\ Users \ Ryan \ AppData \ Local \ dftmp \ Resources \ a903dc1b-98a5-4a78-b04d-c533e881564d \ directory \ DiagnosticStore \ Monitor「-StaticConfigFile」C:\ Users \ Ryan \ AppData \ Local \ dftmp \ Resources \ a903dc1b-98a5-4a78-b04d-c533e881564d \ directory \ DiagnosticStore \ Monitor \ Configuration \ mastaticconfig.xml「-ConfigFile」C:\ Users \ Ryan \ AppData \ Local \ dftmp \ Resources \ a903dc1b-98a5-4a78-b04d-c533e881564d \ directory \ DiagnosticStore \ Monitor \ Configuration \ maconfig.xml 「-ShutDownEvent WADDM關機-81011d9e243b47bc8941b805e7146ce3 -InitializedEvent WADM起動時-81011d9e243b47bc8941b805e7146ce3 -parent 5704個-events [織物]角色狀態停止 [診斷]:創建配置頻道服務器 [MonAgentHost]輸出:代理將退出當發信號通知WADDM-ShutDown-81011d9e243b47bc8941b805e7146ce3時。 [MonAgentHost]輸出:在代理程序初始化後,將發出信號WADM-StartUp-81011d9e243b47bc8941b805e7146ce3。 [MonAgentHost]輸出:註冊爲事件使用者。 [MonAgentHost]輸出:當父進程5704退出時,代理將退出。 [MonAgentHost]輸出:已啓動監視代理程序 [診斷]:啓動配置信道輪詢 [運行時]角色入口點。調用OnStart() [運行時]角色入口點。完成OnStart() [運行時]角色入口點。 CALLING運行() [運行時]角色入口點。已完成運行()==>角色回收啓動 [運行時]角色實例回收正在啓動 [運行時]角色入口點。調用OnStop() [運行時]角色入口點。已完成OnStop() [fabric]角色狀態忙
這就是它一遍又一遍地循環的地方。 使用OrderService的Worker角色初始化事件時顯然會出現錯誤,但是我似乎無法找到出錯的地方。
任何人有任何想法如何找出原因?
非常感謝, 瑞安