예제 #1
0
        private static void SetGlobalConfigurations(GlobalConfigurationEntity result, FileConfiguration configurationFile)
        {
            var globalConfiguration = new FileGlobalConfiguration
            {
                BaseUrl          = result.BaseUrl,
                DownstreamScheme = result.DownstreamScheme,
                RequestIdKey     = result.RequestIdKey
            };

            if (!string.IsNullOrEmpty(result.HttpHandlerOptions))
            {
                globalConfiguration.HttpHandlerOptions =
                    result.HttpHandlerOptions.ToObject <FileHttpHandlerOptions>();
            }

            if (!string.IsNullOrEmpty(result.LoadBalancerOptions))
            {
                globalConfiguration.LoadBalancerOptions =
                    result.LoadBalancerOptions.ToObject <FileLoadBalancerOptions>();
            }

            if (!string.IsNullOrEmpty(result.QoSOptions))
            {
                globalConfiguration.QoSOptions = result.QoSOptions.ToObject <FileQoSOptions>();
            }

            if (!string.IsNullOrEmpty(result.ServiceDiscoveryProvider))
            {
                globalConfiguration.ServiceDiscoveryProvider =
                    result.ServiceDiscoveryProvider.ToObject <FileServiceDiscoveryProvider>();
            }

            configurationFile.GlobalConfiguration = globalConfiguration;
        }
예제 #2
0
        private static void SetReRoutes(GlobalConfigurationEntity result, SqlConnection connection,
                                        FileConfiguration configurationFile)
        {
            var routeResult = connection.QueryAsync <ReRouteEntity>($"select * from ReRoutes").Result.ToList();

            if (routeResult.Count > 0)
            {
                var reRoutes = new List <FileReRoute>();
                foreach (var model in routeResult)
                {
                    SetRouteValue(model, reRoutes);
                }

                configurationFile.ReRoutes = reRoutes;
            }
        }