public void InitPools(string _ip) { try { ServerManager server = ServerManager.OpenRemote(_ip); var pools = server.ApplicationPools; List <IssPool> list = new List <IssPool>(); foreach (ApplicationPool pool in pools) { IssPool IssPool = new IssPool(); int appCount = 0; foreach (Site site in server.Sites) { foreach (Microsoft.Web.Administration.Application application in site.Applications) { if (application.ApplicationPoolName == pool.Name) { appCount++; //IssPool.StationList.Add(new StationDetail //{ // StationName = site.Name, // Status = dic[((int)pool.State).ToString()] //}); } } } IssPool.ProcessCount = appCount; IssPool.Name = pool.Name; IssPool.Status = dic[((int)pool.State).ToString()]; IssPool.NetVersion = pool.ManagedRuntimeVersion; IssPool.Identity = pool.ProcessModel.IdentityType.ToString(); list.Add(IssPool); } //DirectoryEntry pools = new DirectoryEntry(string.Format(path, this.tbIp.Text)); //foreach (DirectoryEntry item in pools.Children) //{ // IssPool IssPool = new IssPool(); // IssPool.Name = item.Name; // if (item.Properties["AppPoolState"].Value.ToString() == "2") // IssPool.Status = "已启动"; // else if (item.Properties["AppPoolState"].Value.ToString() == "4") // IssPool.Status = "已停止"; // IssPool.NetVersion = item.Properties["ManagedRuntimeVersion"].Value.ToString(); // //IssPool.Identity = pool.ProcessModel.IdentityType.ToString(); // object[] apps = item.Invoke("EnumAppsInPool", null) as object[];//站点数量 // IssPool.ProcessCount = apps.Count(); // list.Add(IssPool); //} dgvIssPools.DataSource = list; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 获取选中程序池 /// </summary> /// <returns></returns> public List <IssPool> GetSelectList() { List <IssPool> list = new List <IssPool>(); foreach (DataGridViewRow row in dgvIssPools.SelectedRows) { IssPool IssPool = (IssPool)row.DataBoundItem; list.Add(IssPool); } return(list); }
private void dgvIssPools_CellClick(object sender, DataGridViewCellEventArgs e) { currentIssPool = (IssPool)dgvIssPools.Rows[e.RowIndex].DataBoundItem; }