public ArduinoScoutService(string baseAddress, ArduinoScout wcScout, ScoutViewOfPlatform platform, VLogger logger)
            {
                this.logger = logger;
                this.webCamScout = wcScout;

                service = new SafeServiceHost(logger, platform, this, baseAddress);

                var contract = ContractDescription.GetContract(typeof(IArduinoScoutContract));

                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.AddServiceMetadataBehavior(new ServiceMetadataBehavior());

                service.Open();
            }
        public ArduinoScoutService(string baseAddress, ArduinoScout wcScout, ScoutViewOfPlatform platform, VLogger logger)
        {
            this.logger      = logger;
            this.webCamScout = wcScout;

            service = new SafeServiceHost(logger, platform, this, baseAddress);

            var contract = ContractDescription.GetContract(typeof(IArduinoScoutContract));

            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.AddServiceMetadataBehavior(new ServiceMetadataBehavior());

            service.Open();
        }