1

我有一个可以远程停止和启动 IIS 网站的 winform,但是我正在寻找一种方法来使用 checklistbox 在多个服务器上停止/启动网站。这是我的停止 IIS 网站代码

   private void buttonStop_Click(object sender, EventArgs e)
    {
        string serverName = textServer.Text;
        string siteName = cmbWebsite.SelectedItem.ToString();


        using (Microsoft.Web.Administration.ServerManager sm = Microsoft.Web.Administration.ServerManager.OpenRemote(serverName))
        {

            Microsoft.Web.Administration.Site site = sm.Sites.Where(q => q.Name.Equals(siteName)).FirstOrDefault();
            // If the site does not exist, throw an exception       
            if (site == null)
            {
                throw new Exception("The specified site was not found!");
            }
            // Stop the site        
            site.Stop();
            showStatus(siteName);

        }
    }

我希望能够在多台服务器上运行它,而不是将服务器(textServer)放在文本框中。用户可以检查他们想要停止的服务器/服务器。

非常感谢任何帮助。

谢谢!

4

1 回答 1

0
using (Microsoft.Web.Administration.ServerManager sm = Microsoft.Web.Administration.ServerManager.OpenRemote(serverName))
{
   foreach(var server in checkedListBox1.CheckedItems)
   {
      try
      {
        Microsoft.Web.Administration.Site site = sm.Sites.Where(q => q.Name.Equals(server.ToString())).FirstOrDefault();      
        site.Stop();
        showStatus(siteName);
      }
      catch(Exception e) { /*handle*/ }
   }
}

你只想遍历项目

于 2013-10-28T17:25:47.003 回答