我正在使用NServiceBus 3.3.3。我使用Ninject作爲我的容器,我通過結合以下方法初始化一個模塊中的總線:嘗試在WCF服務中啓動NServiceBus實例時發生空運輸
Bind<IBus>().ToMethod(context =>
{
return CreateBus();
}).InSingletonScope();
private IBus CreateBus()
{
var bus = NServiceBus.Configure.With()
.NinjectBuilder(this.Kernel)
.DefineEndpointName("MyEndpointName")
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.DisableRavenInstall()
.DisableTimeoutManager()
.InMemorySubscriptionStorage()
.XmlSerializer()
.UnicastBus()
.ImpersonateSender(false)
.CreateBus();
return bus.Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
}
相同的代碼工作正常,在不同的(MVC4)項目,但在我的WCF服務WAS我似乎UnicastBus
的transport
成員始終爲空,因此第824行倒塌。
未將對象引用設置爲對象的實例。在NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(動作 startupAction)在 C:\ TeamCity的\ buildAgent \工作\ nsb.master_2的\ src \單播\ NServiceBus.Unicast \ UnicastBus.cs:行824 訪問.Cloud.WebService.Modules.NServiceBusModule.CreateBus()in l:\ Projects \ aCloud \ InsightIntegration \ Access.Cloud.WebService \ Modules \ NServiceBusModule.cs:line 47 at Access.Cloud.WebService.Modules.NServiceBusModule。 b__0(IContext 上下文)中 升:\項目\ aCloud \ InsightIntegration \ Access.Cloud.WebService \模塊\ NServiceBusModule.cs:線 25在Ninject.Activation.Provider'1.Create(IContext上下文)中 C: \項目\ Ninject \ ninject的\ src \ Ninject \激活\箴言ider.cs:line 38 at Ninject.Activation.Context.Resolve()in c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Activation \ Context.cs:第157行 位於System.Linq.Enumerable.WhereSelectEnumerableIterator2。 MoveNext的()
在System.Linq.Enumerable.SingleOrDefault [TSource]在 System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()(IEnumerable`1 源)
我已經在調試器檢查它太過肯定transport
爲空。
我猜這是環境的東西,但我認爲運輸只是來自於一些綁定,當MsmqTransport()
被調用時會被設置。我嘗試將加載模塊的代碼從Ninject Web引導程序移到Global.asax,但它沒有什麼區別。
任何幫助或指導讚賞!
我想我補充一點,這似乎是無關到所使用的構建器類型,當使用'DefaultBuilder()'時,它完全一樣。 – mackie
我不知道WAS是否會導致程序集掃描問題。你能否嘗試將相關程序集清單傳遞給Configure.With()? –
@AndreasÖhlund自從我更新到3.3.4並將有問題的端點更改爲SendOnly後,此問題似乎消失了。如果將來我有類似的問題,我會嘗試明確的方法。感謝您的幫助:)現在解決方案已啓動並正在運行集成測試,並且像魅力一樣工作:D – mackie