我正在尝试从我的 WebApi 应用程序向队列发送消息。服务器第一次启动时一切正常,我可以从控制器向队列发送消息,但是下次调用该操作时,它会引发以下异常:
Cannot access a disposed object.
Object name: 'UnicastBus'.
这就是我绑定 IBus 接口的方式
public static class NinjectWebCommon
{
...
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IBus>().ToConstant(CreateBus()).InSingletonScope();
}
private static IBus CreateBus()
{
Configure.Serialization.Xml();
return Configure.With()
.DefaultBuilder()
.UseTransport<Msmq>()
.UnicastBus()
.SendOnly();
}
}
在我的控制器中
public class CreatedOrderMessageController : ApiController
{
private readonly IBus bus;
public CreatedOrderMessageController(IBus bus)
{
this.bus = bus;
}
public string Get(int id)
{
bus.Send(new OrderCreatedMessage(id));
return "true";
}
}
对这个错误有什么想法吗?
谢谢