/// <summary> /// 初始化 /// </summary> public void Init() { lock (InitLock) { if (_isInited) { return; } Logger.Debug("ContextInfoManager init..."); if (_contextInfoDict != null) { return; } _contextInfoDict = new Dictionary <string, ContextInfo>(); U9ContextSectionGroup u9ActionSectionGroup = U9ContextSectionGroup.GetConfig(); if (u9ActionSectionGroup == null) { return; } MultiEnterprise = u9ActionSectionGroup.MultiEnterprise; foreach (U9ContextSection u9ContextSection in u9ActionSectionGroup.U9Contexts) { if (_contextInfoDict.ContainsKey(u9ContextSection.EnterpriseID)) { throw new U9ContextException(string.Format("enterpriseID:{0} is repeat", u9ContextSection.EnterpriseID)); } ContextInfo contextInfo = ContextInfo.Create(u9ContextSection.EnterpriseID, u9ContextSection.EnterpriseName, u9ContextSection.OrgID, u9ContextSection.OrgCode, u9ContextSection.OrgName, u9ContextSection.UserID, u9ContextSection.UserCode, u9ContextSection.UserName, u9ContextSection.Culture, u9ContextSection.SupportCultureNameList); _contextInfoDict.Add(contextInfo.EnterpriseID, contextInfo); } if (!MultiEnterprise) { string defaultEnterpriseID = u9ActionSectionGroup.DefaultEnterpriseID; if (string.IsNullOrEmpty(defaultEnterpriseID)) { throw new U9ContextException("defaultEnterpriseID is empty"); } if (!_contextInfoDict.ContainsKey(defaultEnterpriseID)) { throw new U9ContextException(string.Format("defaultEnterpriseID:{0} is not exist", defaultEnterpriseID)); } DefaultContext = _contextInfoDict[defaultEnterpriseID]; } _isInited = true; } }