+2010-04-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpChannelListener.cs, HttpListenerManager.cs :
+ Fix NRE issue in olive/samples/wcf/web-http-binding/samplesvc3.exe.
+
2010-04-23 Atsushi Enomoto <atsushi@ximian.com>
* HttpListenerManager.cs : fixed the issue that mex_info is never
}
}
- internal abstract class HttpChannelListenerBase<TChannel> : InternalChannelListenerBase<TChannel>
+ internal interface IChannelDispatcherBoundListener
+ {
+ ChannelDispatcher ChannelDispatcher { get; set; }
+ }
+
+ internal abstract class HttpChannelListenerBase<TChannel> : InternalChannelListenerBase<TChannel>, IChannelDispatcherBoundListener
where TChannel : class, IChannel
{
List<TChannel> channels = new List<TChannel> ();
SecurityTokenManager = new ServiceCredentialsSecurityTokenManager ((ServiceCredentials) context.BindingParameters [typeof (ServiceCredentials)]);
}
- internal ChannelDispatcher ChannelDispatcher { get; set; }
+ public ChannelDispatcher ChannelDispatcher { get; set; }
public HttpTransportBindingElement Source { get; private set; }
{
this.Dispatcher = dispatcher;
this.channel_listener = channelListener;
- mex_info = Dispatcher.Listener.GetProperty<MetadataPublishingInfo> ();
+ mex_info = Dispatcher != null ? Dispatcher.Listener.GetProperty<MetadataPublishingInfo> () : null;
wsdl_instance = mex_info != null ? mex_info.Instance : null;
Source = source;
+2010-04-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelDispatcher.cs : add workaround to set ChannelDispatcher
+ to IChannelListener. Avoid null ChannelDispatcher in http listener.
+
2010-04-20 Atsushi Enomoto <atsushi@ximian.com>
* OperationInvokerHandler.cs : workaround NRE issue in AsyncCallTest.
protected internal override void Attach (ServiceHostBase host)
{
this.host = host;
+ var bl = listener as IChannelDispatcherBoundListener;
+ if (bl != null)
+ bl.ChannelDispatcher = this;
}
public override void CloseInput ()