public HueBridgeScoutService(string baseAddress, HueBridgeScout hbScout, VLogger logger) { this.logger = logger; this.hueBridgeScout = hbScout; service = new ServiceHost(this, new Uri(baseAddress)); var contract = ContractDescription.GetContract(typeof(IHueBridgeScoutContract)); var webBinding = new WebHttpBinding(); var webEndPoint = new ServiceEndpoint(contract, webBinding, new EndpointAddress(baseAddress)); webEndPoint.EndpointBehaviors.Add(new WebHttpBehavior()); service.AddServiceEndpoint(webEndPoint); service.Description.Behaviors.Add(new ServiceMetadataBehavior()); service.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding(), "mex"); service.Open(); }