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";
}
}
このエラーについて何か考えはありますか?
ありがとう