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; }); }
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; }); }
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> >(); } }); }