asp.net web api项目中托管的NServiceBus在一段时间后停止处理消息

asp.net web api项目中托管的NServiceBus在一段时间后停止处理消息,asp.net,asp.net-web-api,nservicebus,Asp.net,Asp.net Web Api,Nservicebus,我们已成功启动了asp.net web api站点,并在其启动功能中启动了nservicebus端点 这项工作可以在一段时间内发现发送和接收消息,但一段时间后,总线将发送消息,但无法处理任何消息。我们已经将应用程序池的空闲超时设置为0,这没有任何区别。回收应用程序池可以解决问题,但这不是一个正确的解决方案 我们用于启动端点的代码是: // Register the bus var bus = NServiceBus.Configure.With() .De

我们已成功启动了asp.net web api站点,并在其启动功能中启动了nservicebus端点

这项工作可以在一段时间内发现发送和接收消息,但一段时间后,总线将发送消息,但无法处理任何消息。我们已经将应用程序池的空闲超时设置为0,这没有任何区别。回收应用程序池可以解决问题,但这不是一个正确的解决方案

我们用于启动端点的代码是:

// Register the bus
        var bus = NServiceBus.Configure.With()
            .DefineEndpointName("Web.Trading")
            .DefaultBuilder()
            .Log4Net()
            .UseTransport<SqlServer>()
            .UseNHibernateSubscriptionPersister()
            .UseNHibernateTimeoutPersister()
            .UseNHibernateSagaPersister()
            .IsTransactional(false)
            .UnicastBus()
            .ImpersonateSender(false)
            .RunHandlersUnderIncomingPrincipal(false)
            .CreateBus()
            .Start();
//注册总线
var bus=NServiceBus.Configure.With()
.definedpointname(“Web.Trading”)
.DefaultBuilder()
.Log4Net()
.UseTransport()
.UseNHibernateSubscriptionPersister()文件
.UseNHibernateTimeoutPersister()文件
.UseNHibernateSagaPersister()
.IsTransactional(错误)
.UnicastBus()
.ImpersonateSender(错误)
.RunHandlerSunderingPrincipal(false)
.CreateBus()
.Start();
现在我看到了这篇文章:但这是不一样的,因为即使当我们在网站上,它可以发送,但它不处理新的消息回来


感谢您的帮助

在停止处理之前,它是否持续运行X分钟,或者是可变的?NSB日志中有什么内容?此外,您可以在app_end事件中添加日志记录,以确定是否确实发生了应用程序池关闭,或者是其他原因。您可能需要查看使用OWIN来承载总线。总线的默认行为是在与sqlserver的连接丢失超过2分钟时停止接收线程。是这样吗?如果是这种情况,日志文件中可能会出现致命错误。你能检查一下吗?你在使用回调吗。您能用控制器中回调的典型用法更新这个问题吗?