/// <summary> /// 根据配置文件中的设备ID初始化节点上下文。 /// </summary> private void InitializeNodeContext(long nodeCode) { var deviceContext = new NodeContext(); GlobalServices.NodeContext = deviceContext; var idInAppConfig = nodeCode; // 如果指定的ID小于等于零,则从配置文件中读取ID。 if (idInAppConfig < 0) { var dictLocalSettings = ConfigurationManager.AppSettings; if (!string.IsNullOrWhiteSpace(dictLocalSettings["NodeCode"])) { idInAppConfig = Convert.ToInt32(dictLocalSettings["NodeCode"]); } else { throw new InvalidOperationException("在配置文件中没有找到NodeCode。"); } } if (idInAppConfig < 0) { // 如果ID值无效,则根据IP初始化。 deviceContext.Initialize(); } else if (idInAppConfig > 0) { // 如果ID值有效,则使用指定的ID值初始化。 deviceContext.Initialize((UInt32)idInAppConfig); } else { var customNode = SelectCustomNode(); deviceContext.Initialize(customNode); } }