当我尝试&启动我的一项服务我收到此错误:
There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime
堆栈跟踪:
未处理的异常:Magnum.StateMachine.StateMachineException: Topshelf.Internal.ServiceControlle中发生异常 环R
1[[NServiceBus.Hosting.Windows.WindowsHost, NServiceBus.Host, Version=3.2.0.0, Culture=neutral, PublicKeyToken=9fc3864 79f8a226c]] during state Initial while handling OnStart ---> System.Exception: Exception when starting endpoint, error h as been logged. Reason: There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime ---> System.InvalidOper ationException: There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime at Raven.Client.Connection.ServerClient.DirectQuery(String index, IndexQuery query, String operationUrl, String[] inc ludes) at Raven.Client.Connection.ServerClient.<>c__DisplayClass37.<Query>b__36(String u) at Raven.Client.Connection.ServerClient.TryOperation[T](Func
2 operation,String operationUrl,Boolean avoidThrowing,T&amp;结果)
在 Raven.Client.Connection.ServerClient.ExecuteWithReplication [T](字符串 方法,Func2 operation) at Raven.Client.Connection.ServerClient.Query(String index, IndexQuery query, String[] includes) at Raven.Client.Document.AbstractDocumentQuery
2.ExecuteActualQuery()
在Raven.Client.Document.AbstractDocumentQuery2.get_QueryResult()
1.ExecuteQueryTProjection 在Raven.Client.Linq.RavenQueryProviderProcessor
at Raven.Client.Linq.RavenQueryProviderProcessor1.Execute(Expression expression) at Raven.Client.Linq.RavenQueryProvider
1.Execute(表达式表达式) 在 Raven.Client.Linq.RavenQueryProvider1.System.Linq.IQueryProvider.Execute(Expression expression) at Raven.Client.Linq.RavenQueryInspector
1.GetEnumerator()at at System.Collections.Generic.List1.InsertRange(Int32 index, IEnumerable
1集合)at NServiceBus.Timeout.Hosting.Windows.Persistence.RavenTimeoutPersistence.GetAll() 在NServiceBus.Timeout.Core.TimeoutRunner.CacheExistingTimeouts()
在NServiceBus.Timeout.Core.TimeoutRunner.Run()at System.Collections.Generic.List1.ForEach(Action
1动作)at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(动作 在NServiceBus.Hosting.GenericHost.Start()中的startupAction C:\ TeamCity的\ buildAgent \工作\ nsb.master_6的\ src \主持\ NServiceBus.Hostin g \ GenericHost.cs:第34行
主机配置为:
var container = new WindsorContainer();
container.Install(FromAssembly.This());
Configure.With()
.DefiningEventsAs(t => t.Namespace != null && t.Namespace.StartsWith("Events"))
.DefiningCommandsAs(t => t.Namespace != null && t.Namespace.StartsWith("Messages"))
.CastleWindsorBuilder(container)
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.IsolationLevel(IsolationLevel.ReadUncommitted)
.UnicastBus()
.RavenSagaPersister()
.RavenSubscriptionStorage()
.UseRavenTimeoutPersister()
.RunTimeoutManager()
.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install();
我在这台机器上运行的其他服务没有错误。我尝试重新启动ravendb服务。
运行Nservicebus 3.2.5
答案 0 :(得分:2)
您缺少索引:RavenTimeoutPersistence / TimeoutDataSortedByTime
你需要创建它,或者NSB需要创建它,我不确定这个索引来自哪里。