示例#1
0
 public void Load(IConfigsType configurationDataRespository)
 {
     if (configurationDataRespository.Get(EnableConfigName) == "true")
     {
         Swashbuckle.Application.HttpConfigurationExtensions.EnableSwagger(
             GlobalConfiguration.Configuration, delegate(SwaggerDocsConfig c)
         {
             SetVersionAndComments(c, (configurationDataRespository.Get(VersionConfigName) ?? VersionDefault)
                                   , (configurationDataRespository.Get(TitleConfigName) ?? TitleDefault));
             c.IgnoreObsoleteActions();
             c.IgnoreObsoleteProperties();
         }).EnableSwaggerUi(delegate(SwaggerUiConfig c)
         {
             //************注   意*****************
             //1、两个js文件属性为嵌入资源
             //2、Net.Boot.Aspnet.Api为项目命名空间
             //3、Docs.Translator.js 为文件所在目录
             Assembly assembly = base.GetType().Assembly;
             c.InjectJavaScript(assembly, "Net.Boot.Aspnet.Api.Docs.Translator.js");
             c.InjectJavaScript(assembly, "Net.Boot.Aspnet.Api.Docs.AuthToken.js");
         });
     }
     if (configurationDataRespository.Get(IsDefaultPageConfigName) == "true")
     {
         DynamicModuleUtility.RegisterModule(typeof(DocumnetHome));
     }
 }
 private void SetPort()
 {
     Port = Convert.ToInt32(_configInfo.Get(PortConfigName));
     if (Port == 0)
     {
         var Info = "请为RPC服务器配置端口,请修改配置项{0}";
         throw new InvalidOperationException(string.Format(Info, PortConfigName));
     }
 }
示例#3
0
 public static void Run()
 {
     _Application.Run();
     HostFactory.Run(delegate(HostConfigurator x) {
         x.Service <IService>(delegate(ServiceConfigurator <IService> s) {
             s.ConstructUsing(delegate(HostSettings name) {
                 IService service = null;
                 try
                 {
                     service = ContainerSingleton.Instance.Resolve <IService>();
                 }
                 catch (Exception ex)
                 {
                     if (service == null)
                     {
                         string msg = "未能找到服务启动类,请确保您创建了IService接口的实现类";
                         throw new InvalidOperationException(msg);
                     }
                     else
                     {
                         throw new Exception(string.Format("服务启动异常:{0}", ex.Message));
                     }
                 }
                 return(service);
             });
             s.WhenStarted <IService>(tc => tc.Start());
             s.WhenStopped <IService>(tc => tc.Stop());
         });
         x.UseLinuxIfAvailable();
         IConfigsType local1 = ContainerSingleton.Instance.Resolve <IConfigsType>();
         string str          = local1.Get(ServiceNameConfigName);
         if (string.IsNullOrWhiteSpace(str))
         {
             string Msg = "请通过设置{0}配置项,为服务配置服务名称";
             throw new InvalidOperationException(string.Format(Msg, ServiceNameConfigName));
         }
         x.SetServiceName(str.Trim());
         string str2 = local1.Get(DisplayNameConfigName);
         if (!string.IsNullOrWhiteSpace(str2))
         {
             x.SetDisplayName(str2.Trim());
         }
         string str3 = local1.Get(DescriptionConfigName);
         if (!string.IsNullOrWhiteSpace(str3))
         {
             x.SetDescription(str3);
         }
         x.StartAutomatically();
         x.RunAsLocalSystem();
     });
 }
示例#4
0
        public ClientEndpointInfo[] Load(IConfigsType dictData)
        {
            var dictionary = new Dictionary <string, ClientEndpointInfo>();

            foreach (string str in dictData.GetKeys())
            {
                Match match = Regex.Match(str, @"^Cicada.Rpc.Client.Endpoints.(\w+).([\w.]+)$", RegexOptions.IgnoreCase);
                if (match.Success && (match.Groups.Count == 3))
                {
                    ClientEndpointInfo info;
                    if (dictionary.ContainsKey(match.Groups[1].Value))
                    {
                        info = dictionary[match.Groups[1].Value];
                    }
                    else
                    {
                        info = new ClientEndpointInfo();
                        dictionary.Add(match.Groups[1].Value, info);
                    }
                    string key = match.Groups[2].Value.ToLower();
                    if (!FillDataStrategies.ContainsKey(key))
                    {
                        throw new InvalidOperationException(string.Format("未知的配置,请检查节点{0}是否配置正确", str));
                    }
                    if (!FillDataStrategies[key].Fill(str, key, dictData.Get(str), info))
                    {
                        throw new InvalidOperationException(string.Format("错误的配置,请检查节点{0}是否配置正确", str));
                    }
                }
            }
            return(dictionary.Values.ToArray <ClientEndpointInfo>());
        }
示例#5
0
 public void Load(IConfigsType configurationDataRespository)
 {
     GlobalConfiguration.Configuration.Filters.Add(new WebApiErrorAttribute());
     GlobalConfiguration.Configuration.DependencyResolver = new ApiDependencyResolver();
     GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
         new IsoDateTimeConverter
     {
         DateTimeFormat = "yyyy-MM-dd HH:mm:ss"
     });
     if (configurationDataRespository.Get(IsActionTrack) == "true")
     {
         GlobalConfiguration.Configuration.Filters.Add(ContainerSingleton.Instance.Resolve <WebApiTrackAttribute>());
     }
     if (GlobalConfiguration.Configuration.Formatters.XmlFormatter != null)
     {
         GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
     }
 }
示例#6
0
 public void Start()
 {
     Console.WriteLine(_config.Get("Cicada.Boot.Service.Description"));
 }
示例#7
0
        public void Execute(IConfigsType dictData)
        {
            var t = dictData.Get("Cicada.DI.AutoRegisterByProductName");

            Console.WriteLine(t);
        }