コード例 #1
0
        static RequestTrackerRepository()
        {
            ConfigurationContainer.RegisterJsonListener <RequestTrackerContainer>("RequestTrackerData.json", (container) =>
            {
                var requestTrackerStaticData = new RequestTrackerStaticData()
                {
                    Datas = new Dictionary <string, RequestTracker>()
                };

                requestTrackerStaticData.Global = new RequestTracker()
                {
                    ID         = Guid.NewGuid(),
                    MaxNumber  = container.Global.MaxNumber,
                    RequestKey = ""
                };
                requestTrackerStaticData.Global.Extensions.Add("Strategies", container.Global.Strategies);

                foreach (var item in container.Configuration)
                {
                    var newRequestTracker = new RequestTracker()
                    {
                        ID         = Guid.NewGuid(),
                        MaxNumber  = item.Value.MaxNumber,
                        RequestKey = item.Key
                    };
                    newRequestTracker.Extensions.Add("Strategies", item.Value.Strategies);
                    requestTrackerStaticData.Datas.Add(item.Key, newRequestTracker);
                }

                _requestTrackerStaticData = requestTrackerStaticData;
            });
        }
コード例 #2
0
        static TrackerStrategyRepository()
        {
            ConfigurationContainer.RegisterJsonListener <string[]>("TrackerStrategyData.json", (names) =>
            {
                var trackerStrategyList = new Dictionary <string, TrackerStrategy>();

                foreach (var item in names)
                {
                    trackerStrategyList.Add(item, new TrackerStrategy()
                    {
                        ID   = Guid.NewGuid(),
                        Name = item
                    });
                }
                _trackerStrategyList = trackerStrategyList;
            });
        }
コード例 #3
0
        static LanguageTranslateService()
        {
            //因为ConfigurationBuilder不支持键类型非string类型的Dictionary,因此只能先获取Dictionary<string, Dictionary<string, string>>的数据
            //然后再转换成Dictionary<string, Dictionary<int, string>>

            ConfigurationContainer.RegisterJsonListener <Dictionary <string, Dictionary <string, string> > >($"Configurations{Path.DirectorySeparatorChar}Langs{Path.DirectorySeparatorChar}language.json", (textList) =>
            {
                if (textList != null)
                {
                    var strJson = JsonSerializerHelper.Serializer(textList);
                    _textList   = JsonSerializerHelper.Deserialize <Dictionary <string, Dictionary <int, string> > >(strJson);
                }
                else
                {
                    _textList = new Dictionary <string, Dictionary <int, string> >();
                }
            });
        }