Thanks, I will look into these (and yes it's GUI related and your assumptions are correct).
On Fri, Apr 23, 2010 at 2:14 PM, nightwatch77 <[email protected]>wrote: > Jan, probably I won't be able to give you the answer - I'm not sure if > I know what problem are you trying to solve and haven't done anything > similar. But maybe you could implement some sort of server-side > mailbox for incoming messages for each client and use periodic polling > over http to retrieve them. What are your latency requirements? If > it's for GUI it will probably be enough to poll every 10 seconds. And > if you're working with javascript maybe you could take a look at > Ext.Direct and PollingProvider (this is a part of extjs library) - but > you could roll your own solution as well. > > RG > > On 23 Kwi, 17:18, Jan Limpens <[email protected]> wrote: > > what tool might I want to look for, then? > > > > On Tue, Apr 20, 2010 at 2:39 AM, nightwatch77 <[email protected] > >wrote: > > > > > > > > > > > > > By 'insisting on using rsb' I was implying that probably RSB is not > > > the tool you are looking for... > > > > > On 19 Kwi, 23:47, Jan Limpens <[email protected]> wrote: > > > > Makes perfect sense, seems like a lot of work though. > > > > You say "insist on using rsb..." - what does this imply? > > > > > > On Mon, Apr 19, 2010 at 4:18 PM, nightwatch77 < > [email protected] > > > >wrote: > > > > > > > Jan, to efficiently receive messages by polling you have to store > them > > > > > at the server and get them all in a batch. So, if you insist on > using > > > > > RSB, you'll have to implement a buffering consumer that will sit on > > > > > the server and collect messages directed to it and allow you to > > > > > retrieve them all by a WCF call. Something like a 'gateway' between > > > > > synchronous WCF and asynchronous RSB. I'm thinking about something > > > > > like an additional RSB endpoint that would forward your WCF > messages > > > > > to RSB infrastructure (but substituting its own endpoint name as a > > > > > reply address - like in NAT) and keep all incoming replies in a > buffer > > > > > so your client app could get them by polling. Does it make any > sense? > > > > > > > On 19 Kwi, 18:37, Jan Limpens <[email protected]> wrote: > > > > > > From what I can see a (occasional) consumer is just registered to > the > > > > > > container by its name, right? > > > > > > Probably there is some facility somewhere, that inspects these > > > components > > > > > > and finds out who subscribed to what. > > > > > > > > So, if my sl control wants to 'subscribe' to a reply, it has to > tell > > > its > > > > > > service instance about that. Do you have any idea, of how I could > > > make > > > > > such > > > > > > a service instance make either > > > > > > a) subscribe to the reply without it implementing the interface > and > > > being > > > > > > installed in the container? or > > > > > > b) use dynproxy and some kind of factory to generate the consumer > on > > > the > > > > > > fly? This instance could the be registered to the container and > > > disposed > > > > > of > > > > > > after use. > > > > > > > > Or any other better idea? Is my idea feasible at all? > > > > > > > > On Mon, Apr 19, 2010 at 1:16 PM, Ayende Rahien < > [email protected]> > > > > > wrote: > > > > > > > Jan, > > > > > > > Reply is always async with RSB > > > > > > > > > On Mon, Apr 19, 2010 at 6:29 PM, Jan Limpens < > > > [email protected] > > > > > >wrote: > > > > > > > > >> Ah, while *subscribe *is fine, my above post talks of the > *reply > > > > > *case... > > > > > > >> need to read some code, it seems :) > > > > > > > > >> On Mon, Apr 19, 2010 at 11:50 AM, Jan Limpens < > > > [email protected] > > > > > >wrote: > > > > > > > > >>> While it is dead simple to publish/send messages to a bus > exposed > > > via > > > > > > >>> wcf, has anyone ever tried to subscribe to it? > > > > > > > > >>> while this makes the kinda-stateful comet connection between > > > client > > > > > and > > > > > > >>> server > > > > > > > > >>> protected override void InitializeRuntime() > > > > > > > > >>> { > > > > > > >>> this.AddServiceEndpoint( > > > > > > > > >>> typeof(IStockService), > > > > > > >>> new PollingDuplexHttpBinding(), > > > > > > > > >>> new Uri(_serviceBusUri)); > > > > > > >>> base.InitializeRuntime(); > > > > > > >>> } > > > > > > > > >>> Then I'd could expose the bus like that: > > > > > > > > >>> [ServiceContract] > > > > > > >>> public interface IServiceBusService > > > > > > >>> { > > > > > > >>> [OperationContract] > > > > > > >>> void Publish<T>(T message); > > > > > > > > >>> [OperationContract] > > > > > > >>> void Subscribe<T>(Action<T> callback); // don't > like > > > that > > > > > this callback goes across the wire, while all i want is the type. > this > > > > > should star at the client... > > > > > > > > >>> } > > > > > > > > >>> I wonder how to go on after that. How does the message find > it's > > > > > > >>> subscriber? For instance if I > > > > > > > > >>> _busSrv.Subscribe<GetSearchResultMessage>((e)=> > > > > > > >>> MessageBox.Show(string.Join(e.Result, ", "))) > > > > > > >>> _busSrv.Send(send a new SearchMessage(searchTerm: "rhino")) > > > > > > > > >>> How would _busSrv be able to tell if a certain > > > GetSearchResultMessage > > > > > is > > > > > > >>> for a certain client? > > > > > > > > >>> How could _busSrv add itself to the dictionary of > > > > > GetSearchResultMessage > > > > > > >>> consumers, without implementing the interface > > > > > > >>> ConsumerOf<GetSearchResultMessage>? There are _many_ types of > > > > > messages, and > > > > > > >>> I would want to avoid to have to write and maintain all that > > > > > boilerplate > > > > > > >>> code... > > > > > > > > >>> -- > > > > > > >>> Jan > > > > > > > > >> -- > > > > > > >> Jan > > > > > > > > >> -- > > > > > > >> You received this message because you are subscribed to the > Google > > > > > Groups > > > > > > >> "Rhino Tools Dev" group. > > > > > > >> To post to this group, send email to > > > [email protected] > > > > > . > > > > > > >> To unsubscribe from this group, send email to > > > > > > >> [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > > >> . > > > > > > >> For more options, visit this group at > > > > > > >>http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > > > > > > -- > > > > > > > You received this message because you are subscribed to the > Google > > > > > Groups > > > > > > > "Rhino Tools Dev" group. > > > > > > > To post to this group, send email to > > > [email protected]. > > > > > > > To unsubscribe from this group, send email to > > > > > > > [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > > > . > > > > > > > For more options, visit this group at > > > > > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > > > > > -- > > > > > > Jan > > > > > > > > -- > > > > > > You received this message because you are subscribed to the > Google > > > Groups > > > > > "Rhino Tools Dev" group. > > > > > > To post to this group, send email to > > > [email protected]. > > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > . > > > > > > For more options, visit this group athttp:// > > > > > groups.google.com/group/rhino-tools-dev?hl=en. > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > Groups > > > > > "Rhino Tools Dev" group. > > > > > To post to this group, send email to > [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > > > . > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > > > -- > > > > Jan > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > "Rhino Tools Dev" group. > > > > To post to this group, send email to > [email protected]. > > > > To unsubscribe from this group, send email to > > > [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > . > > > > For more options, visit this group athttp:// > > > groups.google.com/group/rhino-tools-dev?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Rhino Tools Dev" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<rhino-tools-dev%[email protected]> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > -- > > Jan > > > > -- > > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > [email protected]<rhino-tools-dev%[email protected]> > . > > For more options, visit this group athttp:// > groups.google.com/group/rhino-tools-dev?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<rhino-tools-dev%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > > -- Jan -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
