コード例 #1
0
 public HttpResponseMessage TryAddService([FromBody] ServiceRegistrationServer.ServiceRegistrationMessage data)
 {
     try
     {
         var cs      = configSetTasks.GetConfigSet(data.ConfigSetId);
         var service = (from s in cs.Services where s.Name == data.ServiceName select s).SingleOrDefault();
         if (service.IsNull())
         {
             service = configSetTasks.CreateService(cs, data.ServiceName);
             configSetTasks.CreateEndpoint(service, data.DefaultBinding, data.Properties);
             var env = (from e in cs.Environments where e.Name == data.Environment select e).SingleOrDefault();
             if (env.IsNull())
             {
                 env = environmentTasks.CreatEnvironment(cs, data.Environment);
             }
             var serviceRoot = (from sp in env.SubstitutionParameters where sp.Name == string.Format("{0}_Address", data.ServiceName) select sp).SingleOrDefault();
             if (serviceRoot.IsNull() && data.DefaultEnvirionmentUrlPath.ContainsCharacters())
             {
                 serviceRoot.ItemValue = data.DefaultEnvirionmentUrlPath;
             }
             ConnectToHost(data, cs, service);
         }
         return(Request.CreateResponse(HttpStatusCode.OK, "OK"));
     }
     catch (Exception exception)
     {
         Logging.Exception(exception);
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, string.Format("Error: {0}", exception.Message)));
     }
 }
コード例 #2
0
        public HttpResponseMessage TryAddService([FromBody] ServiceRegistrationServer.ServiceRegistrationMessage data)
        {
            var localFile = ConfigCacheHelper.GetLocalFileName(data.ConfigSetId, data.Environment);

            if (File.Exists(localFile))
            {
                var configData = ConfigCacheHelper.GetConfigFromCache(data.ConfigSetId, data.Environment, localFile).Set;
                ValidateAccess(configData, data.Environment);
            }
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
コード例 #3
0
 public bool TryRegisterService(ServiceRegistrationServer.ServiceRegistrationMessage serviceMessage)
 {
     try
     {
         return(ReaderFactory.GetConfigurationReader().TryRegisterService(serviceMessage));
     }
     catch (Exception ex)
     {
         ex.Log();
         return(false);
     }
 }
コード例 #4
0
 private void ConnectToHost(ServiceRegistrationServer.ServiceRegistrationMessage data, IConfigSet cs, IServiceDescription service)
 {
     if (data.ServiceHost != null)
     {
         var host = cs.ServiceHosts.SingleOrDefault(s => s.Name == data.ServiceHost);
         if (host != null)
         {
             service.ServiceHost   = host;
             service.ServiceHostId = host.Id;
             configSetTasks.UpdateService(service);
         }
     }
 }
コード例 #5
0
        public bool TryRegisterService(ServiceRegistrationServer.ServiceRegistrationMessage serviceMessage)
        {
            using (var wc = new WebClient())
            {
                wc.Encoding = Encoding.UTF8;
                SetCredentials(wc);
                var url     = String.Format("{0}/Registration/TryAddService", GetConfigServiceUrl());
                var data    = serviceMessage.Serialize();
                var payload = wc.UploadString(url, data);
                var ds      = Deserializer <ServiceRegistrationServer.ServiceRegistrationMessage> .Deserialize(data);

                return(payload == "\"OK\"");
            }
        }
コード例 #6
0
 public bool TryRegisterService(ServiceRegistrationServer.ServiceRegistrationMessage serviceMessage)
 {
     return(false);
 }