>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]>
>> .
>> 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]>
> .
> 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.

Reply via email to