繁体   English   中英

我的ASP.NET MVC 4应用程序未发送/发布到RabbitMQ

[英]My asp.net mvc 4 application does not send/publish to rabbitmq

我有一个应用程序,一个asp.net mvc 4应用程序。 我想将rabbitmq与easynetq一起使用。 在我的本地计算机上,它运行良好。 但是在Windows Server 2012的生产环境中,它不会发送任何消息。

我不明白,为什么它不起作用。 在日志消息中,没有异常。 IIS和Rabbitmq在同一台计算机上。

    protected void Application_Start()
    {
    ...
          using (var bus = RabbitHutch.CreateBus("host=localhost"))
          {
            bus.Publish(new SystemLog() { Code = "startapplication", Message = "nomessage" });
          }        
    ...
    }

    void Session_End(object sender, EventArgs e)
    {
      ...
            using (var bus = RabbitHutch.CreateBus("host=localhost"))
            {
                bus.Publish(new SystemLog() { Code = "sessionends", Message = "somenumber"});
            };
      ...
     }        

提前致谢

不要将其放在using语句中,因为它将在启动完成后立即处置总线实例,而您希望在应用程序的生命周期内保留相同的实例。

而是将实例保存在某个地方(如静态变量),然后将其放置在application_end事件中,而不是session_end中。

所以更像这样:

protected void Application_Start()
{
  _bus = RabbitHutch.CreateBus("host=localhost"))
  _bus.Publish(new SystemLog() { Code = "startapplication", Message = "nomessage" });
}

void Session_End(object sender, EventArgs e)
{
  _bus.Publish(new SystemLog() { Code = "sessionends", Message = "somenumber"});
}

protected void Application_End()
{
  if(_bus!=null)
    _bus.Dispose();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM