string value = "";
        serverBindings = site.Properties["ServerBindings"];
        for (int i = 0; i < serverBindings.Count; i++)
        {
            String temp = "";
            temp = serverBindings[i].ToString();
            if (i == 0)
            {
                _ip = temp.Split(Convert.ToChar(":"))[0];
                _WebSite=temp.Split(Convert.ToChar(":"))[1];
                _Port = temp.Split(Convert.ToChar(":"))[2];
            }
            else
            {
                _ip = _ip+"|" + temp.Split(Convert.ToChar(":"))[0];
                _WebSite =_WebSite+"|"+temp.Split(Convert.ToChar(":"))[1];
                _Port = _Port + "|" + temp.Split(Convert.ToChar(":"))[2];
                        }
我用这种方法获取iis6.0站点属性中的ip,域名端口,为什么只能获取第一个站点信息,是不是temp.Split(Convert.ToCha(":"))就代表第一个?怎么了弄,才能获取到其他站点下的ip,域名,端口

解决方案 »

  1.   


    DirectoryEntry dirEntry = new DirectoryEntry(string.Format("IIS://{0}/W3SVC", hostName));
                foreach (DirectoryEntry child in dirEntry.Children)
                {
                    if (child.SchemaClassName == "IIsWebServer")
                    {
                        try
                        {
                            if (!string.IsNullOrEmpty(iCount) && iNum == int.Parse(iCount))
                            {
                                strTempName = child.Properties["ServerComment"].Value.ToString();   // 名称
                                break;
                            }
                            string str = child.Properties["ServerBindings"].Value.ToString();//:端口:
                            str = child.Properties["ServerComment"].Value.ToString();//名称
                            if (string.IsNullOrEmpty(str))
                            {
                                dirEntry.Children.Remove(child);
                                dirEntry.CommitChanges();
                            }
                            else
                            {
                                str = child.Properties["ServerState"].Value.ToString();
                                str = child.Name;//网站编号
                                str = child.Properties["DefaultDoc"].Value.ToString();//默认文档
                                str = child.Children.Find("Root", "IISWebVirtualDir").Properties["Path"][0].ToString();//物理路径 主目录路径
                                str = child.Children.Find("Root", "IISWebVirtualDir").Properties["Path"].Value.ToString();
                                iNum += 1;
                            }
                        }
                        catch { }
                    }
                }
                dirEntry.Close();
      

  2.   

    ServerBindings好像就是绑定的ip端口信息  以前用过的代码 具体记不很清楚了 ,你获取一次肯定只有一个站点的信息
      

  3.   


         if (!string.IsNullOrEmpty(iCount) && iNum == int.Parse(iCount))
                            {
                                strTempName = child.Properties["ServerComment"].Value.ToString();   // 名称
                                break;
                            }这一段你不用管 这是我做其他用途的