2012-12-07 153 views
1

我目前正在嘗試NServiceBus,它在我的系統上運行良好。現在我想將其安裝在我們的一臺內部服務器上,以記錄從頭開始設置nservicebus需要做些什麼。我目前的策略是調用NServiceBus.Host /installInfrastructure這似乎工作,它報告安裝RavenDB和Msmq和DTC。然而,當我嘗試運行我的示例應用程序(如管理員),我得到一個異常:安裝NServiceBus基礎設施

2012-12-07 15:13:43,599 [1] FATAL NServiceBus.Hosting.GenericHost [(null)] <(null)> - System.InvalidOperationException: There is a problem with the input queue: FormatName:DIRECT=OS:dev\private$\els.bus.els.service. See the enclosed exception for details. ---> System.Messaging.MessageQueueException: The queue does not exist or you do not have sufficient permissions to perform the operation. 
    at System.Messaging.MessageQueue.MQCacheableInfo.get_Transactional() 
    at System.Messaging.MessageQueue.get_Transactional() 
    at NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.QueueIsTransactional() 
    --- End of inner exception stack trace --- 
    at NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.QueueIsTransactional() 
    at NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.Init(Address address, Boolean transactional) 
    at NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.NServiceBus.Unicast.Transport.ITransport.Start(Address address) 
    at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action startupAction) 
    at NServiceBus.Hosting.GenericHost.Start() 

有什麼我失蹤?

+0

您是創建隊列還是讓NSB創建隊列? –

+0

一些問題:你在哪個檔案中跑步?您在名爲'dev'上運行此代碼的機器是?否則,您正嘗試創建一個遠程隊列,該隊列需要該機器上的權限。如果這是本地機器,您是否嘗試過手動創建隊列?如果您在運行主機之前創建隊列「els.bus.els.service」,會發生什麼情況? – carlpett

回答

6

除了安裝基礎架構之外,還需要調用/ install標誌來獲取您創建的隊列(這需要管理員權限)。

+0

雖然這似乎將應用程序安裝爲服務。是否需要創建隊列? – carl

+2

如果通過Visual Studio以調試模式運行它們,則創建隊列時不會將過程安裝爲Windows服務。 –