Se vi servisse di attivare un servizio WCF dinamicamente, da codice, e non da .config … ecco qualche riga che può esservi utile:
System.ServiceModel.Activation.ServiceRoute serviceRoute =
new System.ServiceModel.Activation.ServiceRoute("SampleService.svc",
new System.ServiceModel.Activation.ServiceHostFactory(),
Type.GetType("SampleServiceActivations.WCF.SampleService, SampleServiceActivations.WCF", true));
System.Web.Routing.RouteTable.Routes.Add(serviceRoute);
Da eseguire per esempio in un HttpModule o nel global.asax. Se poi dovete rimuovere il servizio:
System.ServiceModel.Activation.ServiceRoute serviceRouteToRemove = System.Web.Routing.RouteTable.Routes.OfType<System.ServiceModel.Activation.ServiceRoute>()
.FirstOrDefault(r => ((System.ServiceModel.Activation.ServiceRoute)r).Url.Contains("SampleService.svc"));
if (serviceRouteToRemove != null) {
System.Web.Routing.RouteTable.Routes.Remove(serviceRouteToRemove);
}
Buon lavoro.