+2010-04-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpListenerManager.cs : fixed the issue that mex_info is never
+ retrieved from the latest channel listener (which could be other
+ listener than the one which was set mex info).
+
2010-04-23 Atsushi Enomoto <atsushi@ximian.com>
* HttpChannelListener.cs, HttpListenerManager.cs :
{
this.Dispatcher = dispatcher;
this.channel_listener = channelListener;
- // FIXME: this cast should not be required, but current JIT somehow causes an internal error.
- mex_info = ((IChannelListener) channelListener).GetProperty<MetadataPublishingInfo> ();
+ mex_info = Dispatcher.Listener.GetProperty<MetadataPublishingInfo> ();
wsdl_instance = mex_info != null ? mex_info.Instance : null;
Source = source;
{
}
+ public BaseAddressPrefixFilterElement (Uri prefix)
+ {
+ Prefix = prefix;
+ }
+
// Properties
Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey,
IsRequired = true,
IsKey = true)]
- [StringValidator ( MinLength = 1,
- MaxLength = int.MaxValue,
- InvalidCharacters = null)]
public Uri Prefix {
get { return (Uri) base [prefix]; }
set { base [prefix] = value; }
+2010-04-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceMetadataExtension.cs : raise an error if it failed to set
+ mex info. (Make it safer.)
+
2010-04-23 Atsushi Enomoto <atsushi@ximian.com>
* ServiceMetadataExtension.cs : reflect DispatcherBuilder change.
var listener = channelDispatcher.Listener as ChannelListenerBase;
if (listener != null)
listener.Properties.Add (new MetadataPublishingInfo () { SupportsMex = isMex, SupportsHelp = !isMex, Instance = instance });
+ else
+ throw new InvalidOperationException ("FIXME: attempt to use ServiceMetadataExtension to not-supported channel listener: " + listener.GetType ());
channelDispatcher.Endpoints [0].DispatchRuntime.InstanceContextProvider = new SingletonInstanceContextProvider (new InstanceContext (owner, instance));
dispatchers.Add (uri, channelDispatcher);