ServiceDescription description,
ServiceHostBase serviceHostBase)
{
- ServiceMetadataExtension sme = ServiceMetadataExtension.EnsureServiceMetadataExtension (description, serviceHostBase);
+ ServiceMetadataExtension sme = ServiceMetadataExtension.EnsureServiceMetadataExtension (serviceHostBase);
foreach (ChannelDispatcher dispatcher in serviceHostBase.ChannelDispatchers)
if (IncludeExceptionDetailInFaults) // may be set also in ServiceBehaviorAttribute
if (HttpHelpPageEnabled) {
Uri uri = serviceHostBase.CreateUri ("http", HttpHelpPageUrl);
if (uri != null)
- ServiceMetadataExtension.EnsureServiceMetadataHttpChanelDispatcher (description, serviceHostBase, sme, uri, HttpHelpPageBinding);
+ // FIXME: wrong. It should add help page
+ sme.EnsureServiceMetadataHttpChanelDispatcher (uri, HttpHelpPageBinding);
}
if (HttpsHelpPageEnabled) {
Uri uri = serviceHostBase.CreateUri ("https", HttpsHelpPageUrl);
if (uri != null)
- ServiceMetadataExtension.EnsureServiceMetadataHttpsChanelDispatcher (description, serviceHostBase, sme, uri, HttpsHelpPageBinding);
+ // FIXME: wrong. It should add help page
+ sme.EnsureServiceMetadataHttpsChanelDispatcher (uri, HttpsHelpPageBinding);
}
}
ServiceDescription description,
ServiceHostBase serviceHostBase) {
- ServiceMetadataExtension sme = ServiceMetadataExtension.EnsureServiceMetadataExtension (description, serviceHostBase);
+ ServiceMetadataExtension sme = ServiceMetadataExtension.EnsureServiceMetadataExtension (serviceHostBase);
//Find ChannelDispatcher for Mex, and add a MexInstanceContextProvider
//to it
if (HttpGetEnabled) {
Uri uri = serviceHostBase.CreateUri ("http", HttpGetUrl);
if (uri != null)
- ServiceMetadataExtension.EnsureServiceMetadataHttpChanelDispatcher (description, serviceHostBase, sme, uri, HttpGetBinding);
+ sme.EnsureServiceMetadataHttpChanelDispatcher (uri, HttpGetBinding);
}
if (HttpsGetEnabled) {
Uri uri = serviceHostBase.CreateUri ("https", HttpsGetUrl);
if (uri != null)
- ServiceMetadataExtension.EnsureServiceMetadataHttpsChanelDispatcher (description, serviceHostBase, sme, uri, HttpsGetBinding);
+ sme.EnsureServiceMetadataHttpsChanelDispatcher (uri, HttpsGetBinding);
}
}
get { return owner; }
}
- internal static ServiceMetadataExtension EnsureServiceMetadataExtension (ServiceDescription description, ServiceHostBase serviceHostBase) {
+ internal static ServiceMetadataExtension EnsureServiceMetadataExtension (ServiceHostBase serviceHostBase) {
ServiceMetadataExtension sme = serviceHostBase.Extensions.Find<ServiceMetadataExtension> ();
if (sme == null) {
sme = new ServiceMetadataExtension ();
return sme;
}
- internal static void EnsureServiceMetadataHttpChanelDispatcher (ServiceDescription description, ServiceHostBase serviceHostBase, ServiceMetadataExtension sme, Uri uri, WCFBinding binding)
+ internal void EnsureServiceMetadataHttpChanelDispatcher (Uri uri, WCFBinding binding)
{
- EnsureServiceMetadataDispatcher (description, serviceHostBase, sme, uri, binding ?? MetadataExchangeBindings.CreateMexHttpBinding ());
+ EnsureServiceMetadataDispatcher (uri, binding ?? MetadataExchangeBindings.CreateMexHttpBinding ());
}
- internal static void EnsureServiceMetadataHttpsChanelDispatcher (ServiceDescription description, ServiceHostBase serviceHostBase, ServiceMetadataExtension sme, Uri uri, WCFBinding binding)
+ internal void EnsureServiceMetadataHttpsChanelDispatcher (Uri uri, WCFBinding binding)
{
// same as http now.
- EnsureServiceMetadataDispatcher (description, serviceHostBase, sme, uri, binding ?? MetadataExchangeBindings.CreateMexHttpsBinding ());
+ EnsureServiceMetadataDispatcher (uri, binding ?? MetadataExchangeBindings.CreateMexHttpsBinding ());
}
- static void EnsureServiceMetadataDispatcher (ServiceDescription description, ServiceHostBase serviceHostBase, ServiceMetadataExtension sme, Uri uri, WCFBinding binding)
+ void EnsureServiceMetadataDispatcher (Uri uri, WCFBinding binding)
{
- if (sme._serviceMetadataChanelDispatchers == null)
- sme._serviceMetadataChanelDispatchers = new Dictionary<Uri, ChannelDispatcherBase> ();
- else if (sme._serviceMetadataChanelDispatchers.ContainsKey (uri))
+ if (_serviceMetadataChanelDispatchers == null)
+ _serviceMetadataChanelDispatchers = new Dictionary<Uri, ChannelDispatcherBase> ();
+ else if (_serviceMetadataChanelDispatchers.ContainsKey (uri))
return;
CustomBinding cb = new CustomBinding (binding)
ListenUri = uri,
};
- ChannelDispatcher channelDispatcher = serviceHostBase.BuildChannelDispatcher (se, new BindingParameterCollection ());
+ ChannelDispatcher channelDispatcher = owner.BuildChannelDispatcher (se, new BindingParameterCollection ());
- channelDispatcher.Endpoints [0].DispatchRuntime.InstanceContextProvider = new SingletonInstanceContextProvider (new InstanceContext (serviceHostBase, new HttpGetWsdl (serviceHostBase.Description, sme, uri)));
+ channelDispatcher.Endpoints [0].DispatchRuntime.InstanceContextProvider = new SingletonInstanceContextProvider (new InstanceContext (owner, new HttpGetWsdl (owner.Description, this, uri)));
- sme._serviceMetadataChanelDispatchers.Add (uri, channelDispatcher);
- serviceHostBase.ChannelDispatchers.Add (channelDispatcher);
+ _serviceMetadataChanelDispatchers.Add (uri, channelDispatcher);
+ owner.ChannelDispatchers.Add (channelDispatcher);
}
void IExtension<ServiceHostBase>.Attach (ServiceHostBase owner)