Hello Roman,
I am about to incorporate WSE2 SP2 and I was wondering if you happen to
know of any other changes/bugs in SP2 that conflict with SP1.
thanks,
Craig Neuwirt
> SP2 changed the key for the _receivers hashtable and the method Receiver has
> been forgot to update it.
> The result is that there is no "direct way" to get a registered object by
> the EndpoindReference from the Receivers.
>
> Roman
Roman Kiss [MVP] - 17 Dec 2004 01:07 GMT
Hi Craig,
The following is the code snippet of the
SoapReceivers.Receiver(EndpointReference) bug workaround
private object GetReceiver(EndpointReference epr)
{
BindingFlags binding = BindingFlags.Static | BindingFlags.NonPublic;
Type type = typeof(SoapReceivers);
Hashtable _receivers =type.GetField("_receivers",
binding).GetValue(SoapReceivers.SyncRoot) as Hashtable;
Hashtable _channels =type.GetField("_channels",
binding).GetValue(SoapReceivers.SyncRoot) as Hashtable;
lock(SoapReceivers.SyncRoot)
{
if(_channels.Contains(epr))
{
ISoapInputChannel channel = _channels[_endpoint] as
ISoapInputChannel;
return = _receivers[channel];
}
}
return null;
}
HTH
Roman
> Hello Roman,
>
[quoted text clipped - 11 lines]
>>
>> Roman
Craig Neuwirt - 20 Dec 2004 16:04 GMT
Thanks for the workaround.
craig
> Hi Craig,
>
[quoted text clipped - 40 lines]
> >>
> >> Roman