private void AddSite_Click(object sender, EventArgs e) { SiteParms parms = new SiteParms(); parms.siteIP = IPs.SelectedItem.ToString(); parms.siteName = webName.Text.Trim(); parms.siteUrls = Address.Text.Trim(); parms.webFilePath = sitePath.Text; parms.logFilePath = LogFilePath.Text; Thread thread = new Thread(new ParameterizedThreadStart(this.AddWebSite)); thread.IsBackground = true; thread.Start(parms); }
private void AddWebSite(object state) { SiteParms parms = (SiteParms)state; string ip = parms.siteIP; string doms = parms.siteUrls; string strName = parms.siteName; string sitepath = parms.webFilePath; if (sitepath == "" || doms == "" || sitepath == "") { string[] s = new string[] { "必要项没填写完整!\r\n1、网站名称。\r\n2、网站域名。\r\n3、本地路径。", "建立网站" }; Invoke(new AlertDelegate(CallMessageBox), new object[] { s }); return; } Invoke(new ShowAppState(SetAppState), false); Operator iisAdmin = new Operator(); List <string> dom = new List <string>(); string[] arr = doms.Split(new char[] { '\r' }); foreach (string val in arr) { if (val != "") { dom.Add(val.Replace("\n", "")); } } iisAdmin.WebName = strName; iisAdmin.WebPath = sitepath; iisAdmin.LogFile = parms.logFilePath; iisAdmin.Domain = dom; iisAdmin.HostIP = (ip.CompareTo("(全部未分配IP)") == 0) ? "" : ip; bool addWeb = iisAdmin.CreateNewWebSite(); if (!addWeb) { string[] s = new string[] { "添加虚拟目录时发生错误,网站没有建立成功。", "建立网站" }; Invoke(new AlertDelegate(CallMessageBox), new object[] { s }); return; } string pwd = iisAdmin.WebPassword; string uid = iisAdmin.WebUserName; bool addUser = iisAdmin.NewSysUser(uid, pwd); if (!addUser) { //MessageBox.Show(this, "添加IIS用户时发生错误,没有顺利完成。", "添加用户", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //return; } FileSystemRights rights = FileSystemRights.Read | FileSystemRights.Write | FileSystemRights.ReadAndExecute | FileSystemRights.ListDirectory | FileSystemRights.Modify; bool addRights = NTFSControl.AddDirectorySecurity(sitepath, uid, rights); if (!addRights) { //MessageBox.Show(this, "添加文件夹权限时发生错误,没有顺利完成。", "附加权限", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //return; } //LogFilePath.Text = sitePath.Text = webName.Text = Address.Text = ""; iisAdmin = null; this.RefreshGridView(); }