/// <summary> /// 执行事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDo_Click(object sender, EventArgs e) { if (rtxtyuanshi.Text.Trim() == "" && rtxtjiami.Text.Trim() == "") { MessageBox.Show("请输入加密前或加密后字符串。"); return; } if (rtxtyuanshi.Text.Trim() != "") { rtxtjiami.Text = EcanSecurity.Encode(rtxtyuanshi.Text.Trim()); return; } else { rtxtyuanshi.Text = EcanSecurity.Decode(rtxtjiami.Text.Trim()); return; } }
private void btnTestConn_Click(object sender, EventArgs e) { bool isAvailab = InputValidate(); if (!isAvailab) { return; } try { var tempConn = string.Format("Server={0};Initial Catalog={1};User Id={2};Password={3};MultipleActiveResultSets=true;Max Pool Size=150", this.txtHost.Text.Trim(), this.txtDbName.Text.Trim(), this.txtUserID.Text.Trim(), this.txtUserPwd.Text.Trim()); using (SqlConnection connection = new SqlConnection(tempConn)) { SetButtonState(false); connection.Open(); if (connection.State == ConnectionState.Open) { IsConnOK = true; ConnectionString = EcanSecurity.Encode(tempConn); this.txtTestResult.Text = "连接成功!"; SetButtonState(true); } else { this.txtTestResult.Text = "连接失败!"; SetButtonState(true); } } } catch (Exception ex) { MessageBox.Show(ex.Message); SetButtonState(true); } }
/// <summary> /// 设置数据库 /// </summary> private void SetDB() { try { #region 配置数据库 var rootPath = System.Environment.CurrentDirectory; var appFile = rootPath + "/iCMS.Server.WindowsService.exe.config"; //如果找到Web.config if (File.Exists(appFile)) { XmlDocument configDoc = new XmlDocument(); configDoc.Load(appFile); //添加云平台地址和Code XmlNode appSettings = configDoc.SelectSingleNode("configuration/appSettings"); string serverName = string.Empty; //遍历所有子节点,找到ServiceIPAddress节点并返回 foreach (XmlNode node in appSettings.ChildNodes) { if (node.NodeType != XmlNodeType.Element) { continue; } XmlElement xele = (XmlElement)node; var keyValue = xele.GetAttribute("key"); switch (keyValue) { case "iCMS": { string sql = "Server={0};Initial Catalog={1};User Id={2};Password={3};MultipleActiveResultSets=true;Max Pool Size=150"; sql = string.Format(sql, txtHost.Text.Trim(), txtDbName.Text.Trim(), txtUserID.Text.Trim(), txtUserPwd.Text.Trim()); xele.SetAttribute("value", EcanSecurity.Encode(sql)); } break; case "Secret": string secret = this.tbSecret.Text.Trim(); xele.SetAttribute("value", secret); break; case "Key": string key = this.tbKey.Text.Trim(); xele.SetAttribute("value", key); break; case "ServiceName": serverName = xele.GetAttribute("value"); break; } } configDoc.Save(appFile); //判断服务是否安装,如果安装则进行重新服务 #region 验证服务是否存在 var serviceName = this.txtServiceName.Text.Trim(); var serviceControllers = ServiceController.GetServices(); if (!string.IsNullOrWhiteSpace(serviceName)) { var server = serviceControllers.FirstOrDefault(service => service.ServiceName == serviceName); if (server != null) { //重新服务 if (WindowsServiceHelp.WindowsServiceHelp.IsServiceStart(serviceName)) { WindowsServiceHelp.WindowsServiceHelp.StopService(serviceName); WindowsServiceHelp.WindowsServiceHelp.StartService(serviceName); } } } #endregion } else { MessageBox.Show(this, "配置文件未找到!"); return; } #endregion } catch (Exception ex) { LogHelper.WriteLog(ex); MessageBox.Show(this, "配置出错"); } finally { this.BeginInvoke(new MethodInvoker(delegate() { btnSaveDB.Enabled = true; })); MessageBox.Show(this, "保存数据库连接成功。"); } }