Masstransit 3.1.0 with castle windsor container

49 views
Skip to first unread message

Trupti Kulkarni

unread,
Aug 17, 2017, 6:53:40 PM8/17/17
to masstransit-discuss

I am using Castle Windsor Installer to initialize and try to publish a message in api controller

public void Install(IWindsorContainer container,IConfigurationStore store)
    {
        var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
        {
            var host = cfg.Host(new Uri("rabbitmq://localhost"), h =>
            {
                h.Username("guest");
                h.Password("guest");
            });

            cfg.ReceiveEndpoint(host, "testq", e =>
            {
                e.EnableMessageScope();
                e.LoadFrom(container);
            });
        });
        container.Register(Component.For<IBus>().Instance(busControl));

        busControl.Start();
    }
Inside Application_Start() configured container
_container = WindsorConfiguration.Configure(GlobalConfiguration.Configuration);

In API COntroller

[RoutePrefix("api/Test")]
 public class TestController : ApiController
 {
    private readonly IBus _bus;
 }

 public TestController(IBus bus)
 {
    _bus = bus;
 }

    [HttpPost]
    [Route("PublishMessage")]
    public async Task<IHttpActionResult> PublishMessage()
    {
        await _bus.Publish(new TestMessage
        {
            TestId = 1
        });

        return Ok("Success!");
    }

Any idea what's wrong ? Even after registering bus in container why it is null


Reply all
Reply to author
Forward
0 new messages