Example #1
0
        /////// <summary>
        /////// CurrentDomainのAssemblyからAspectクラスを取得し、Cacheします。
        /////// </summary>
        /////// <returns>Aspectインスタンス一覧</returns>
        ////[Obsolete]
        ////internal static List<IAkAspectParts> GetComposePartsForCurrentAssembly()
        ////{
        ////    object parts = AkLocalContext.GetData(AkConstEnum.ComposeParts);
        ////    if (parts == null)
        ////    {
        ////        List<IAkAspectParts> aspectPartsList = new List<IAkAspectParts>();
        ////        var assemblies = AppDomain.CurrentDomain.GetAssemblies();
        ////        foreach (var asm in assemblies)
        ////        {
        ////            var configuration = new ContainerConfiguration().WithAssembly(asm);
        ////            List<IAkAspectParts> tmpLst;
        ////            using (var container = configuration.CreateContainer())
        ////            {
        ////                tmpLst = new List<IAkAspectParts>(container.GetExports<IAkAspectParts>());
        ////                aspectPartsList.AddRange(tmpLst);
        ////            }
        ////        }
        ////        AkLocalContext.SetData(AkConstEnum.ComposeParts, aspectPartsList);
        ////        parts = aspectPartsList;
        ////    }
        ////    Debug.Assert(parts is List<IAkAspectParts>, "型不正");
        ////    return (List<IAkAspectParts>)parts;
        ////}

        /// <summary>
        /// 設定ファイルからAspectクラスを取得し、Cacheします。
        /// </summary>
        /// <param name="jsonFile">The json file.</param>
        /// <returns>Aspectインスタンス一覧</returns>
        internal static List <IAkAspectParts> GetComposePartsForSettingsFile(string jsonFile)
        {
            object parts = AkLocalContext.GetData(AkConstEnum.ComposeParts);

            if (parts == null)
            {
                List <IAkAspectParts> aspectPartsList = new List <IAkAspectParts>();

                AkJsonConfig.Init(jsonFile);
                var      conf        = AkJsonConfig.Instance;
                string[] moduleArray = conf.GetConfigArray("AkAspect", "Modules");
                foreach (var item in moduleArray)
                {
                    char[]   separator = { '|' };
                    string   asmName   = item.Split(separator)[0];
                    Assembly asm       = Assembly.Load(asmName);

                    string         typeName = item.Split(separator)[1];
                    IAkAspectParts obj      = (IAkAspectParts)asm.CreateInstance(typeName);

                    aspectPartsList.Add(obj);
                }
                AkLocalContext.SetData(AkConstEnum.ComposeParts, aspectPartsList);
                parts = aspectPartsList;
            }
            Debug.Assert(parts is List <IAkAspectParts>, "型不正");
            return((List <IAkAspectParts>)parts);
        }
Example #2
0
        public void TestMethod6()
        {
            string jsonFile = "appsettings.json";

            AkJsonConfig.Init(jsonFile);
            var conf = AkJsonConfig.Instance;

            Assert.AreEqual(10, conf.GetConfig <long>("section1", "data2"));
        }
Example #3
0
        public void TestMethod3()
        {
            string jsonFile = "appsettings.json";

            AkJsonConfig.Init(jsonFile);
            var conf = AkJsonConfig.Instance;

            Assert.AreEqual("hoge3-1", conf.GetConfig("section3", "subSection1", "data"));
        }
Example #4
0
        public void TestMethod2()
        {
            string jsonFile = "appsettings.json";

            AkJsonConfig.Init(jsonFile);
            var conf = AkJsonConfig.Instance;

            Assert.AreEqual("b22", conf.GetConfig("section2", "data2:1"));
        }
Example #5
0
        public void TestMethod7()
        {
            string jsonFile = "appsettings.json";

            AkJsonConfig.Init(jsonFile);
            var conf = AkJsonConfig.Instance;

            string[] actual = conf.GetConfigArray("section2", "data2");
            Assert.AreEqual("a22", actual[0]);
            Assert.AreEqual("b22", actual[1]);
            Assert.AreEqual("c22", actual[2]);
        }