1

I'm trying out Rhino Service Bus from an ASP.NET MVC client and not sure if it has a built in facility for User responses. In the Alexandria smart client example IServiceBus.Reply will work naturally as each user will have a different IP for their local queue. (Although what happens if their connection drops out momentarily..?)

For a web site with similar functionality though, do I need to construct a response queue for every User? So part of the queue name might include the UserId and that way Reply will go back to the right place? Can they share the same port and just differ in URL?

Idle Mach
  • 51
  • 2

2 Answers2

1

It is much more ideal to have a correlation id rather than separate queues for each user.

Your question about "user" responses, no it doesn't have anything built in. Typically you can achieve this with something like long polling.

Corey Kaylor
  • 196
  • 1
  • Thanks for the quick response. It looks like only Sagas have a Correlation Id... How do you do long polling from the client side (and not within a Saga etc) for a specific correlation Id? Like Subscribe by CorrellationId. When the user logs in again we want to check what messages have come in for anything the requested previously. But if they wait in some views we want to poll if a response has come back yet for the specifc request. – Idle Mach Jan 30 '12 at 01:40
  • I'm thinking that while Sagas is a nice way to do the backend process, an ESB is still intended for distributed communication. What I need is really just an async command helper. RavenDB is the storage layer anyway so can make something behave like a queue but with a few more dimensions with that. (Not a strict queue) And create some helper classes that allow me to put process in something like Sagas on the backend... Is this a direction you guys at Hibernating Rhinos have done before? – Idle Mach Jan 30 '12 at 02:30
  • Now I realise I need a backend queue + bus but no client queue - just write these events/responses for the users to the database. – Idle Mach Jan 31 '12 at 02:04
0

I guess I was looking for this but didn't know it at the time:

http://ayende.com/blog/140289/setting-up-a-rhino-service-bus-application-part-iindash-one-way-bus

Although having trouble getting the Sagas to receive a second message, wonder if it's because IOnewayBus doesn't publish as the Saga example seems to use Publish instead of Send, but I'm probably just using it wrong. CorrelationIds match though.

Idle Mach
  • 51
  • 2