示例#1
0
        public IISWebVirtualDirectory GetVirtualDirectory(string sVirtualDirectoryName)
        {
            IISWebVirtualDirectory iISWebVirtualDirectory = null;

            for (int i = 0; i < VirtualDirectories.Count; i++)
            {
                if (VirtualDirectories[i].Name.Equals(sVirtualDirectoryName.Trim()))
                {
                    iISWebVirtualDirectory = VirtualDirectories[i];
                    break;
                }
            }
            return(iISWebVirtualDirectory);
        }
示例#2
0
        public IISWebServer GetWebServer(string sWerServerName)
        {
            DirectoryEntry directoryEntry3;

            IISWebServer iISWebServer = null;
            IEnumerator iEnumerator1 = new DirectoryEntry("IIS://localhost/W3SVC").Children.GetEnumerator();
            try
            {
                while (iEnumerator1.MoveNext())
                {
                    var directoryEntry2 = (DirectoryEntry) iEnumerator1.Current;
                    if (directoryEntry2.SchemaClassName == "IIsWebServer" &&
                        ((String) directoryEntry2.Properties["ServerComment"].Value).Equals(sWerServerName))
                    {
                        iISWebServer = new IISWebServer
                                           {
                                               iID = Convert.ToInt32(directoryEntry2.Name),
                                               sServerName = (String) directoryEntry2.Properties["ServerComment"].Value
                                           };
                        directoryEntry3 =
                            new DirectoryEntry(String.Concat("IIS://localhost/W3SVC/", iISWebServer.ID, "/Root"));
                        iISWebServer.sRootPath = directoryEntry3.Properties["Path"][0] as String;
                        var iEnumerator2 = directoryEntry3.Children.GetEnumerator();
                        try
                        {
                            while (iEnumerator2.MoveNext())
                            {
                                var directoryEntry4 = (DirectoryEntry) iEnumerator2.Current;
                                if (directoryEntry4.SchemaClassName.ToUpper() != "IIsWebVirtualDir".ToUpper()) continue;
                                var iISWebVirtualDirectory = new IISWebVirtualDirectory
                                                                 {
                                                                     _sPath =
                                                                         (String)
                                                                         directoryEntry4.Properties["Path"][0],
                                                                     _sName = directoryEntry4.Name,
                                                                     _isApplication =
                                                                         (String)
                                                                         directoryEntry4.Properties["AppRoot"][0] !=
                                                                         String.Concat("/LM/W3SVC/", iISWebServer.ID,
                                                                                       "/ROOT"),
                                                                     _iWebServerID = iISWebServer.ID
                                                                 };
                                AddWebDirectories(directoryEntry4, String.Concat("/", iISWebVirtualDirectory._sName),
                                                  iISWebVirtualDirectory.WebDirectories, iISWebServer.ID,
                                                  iISWebVirtualDirectory._sPath);
                                iISWebServer.VirtualDirectories.Add(iISWebVirtualDirectory);
                            }
                        }
                        finally
                        {
                            var iDisposable = iEnumerator2 as IDisposable;
                            if (iDisposable != null)
                            {
                                iDisposable.Dispose();
                            }
                        }
                        AddWebDirectories(directoryEntry3, "", iISWebServer.WebDirectories, iISWebServer.ID,
                                          iISWebServer.RootPath);
                        directoryEntry3.Dispose();
                        break;
                    }
                }
            }
            finally
            {
                var iDisposable = iEnumerator1 as IDisposable;
                if (iDisposable != null)
                {
                    iDisposable.Dispose();
                }
            }
            return iISWebServer;
        }
示例#3
0
 public IISWebServerCollection GetWebServers()
 {
     var iISWebServerCollection = new IISWebServerCollection();
     IEnumerator iEnumerator1 = new DirectoryEntry("IIS://localhost/W3SVC").Children.GetEnumerator();
     try
     {
         while (iEnumerator1.MoveNext())
         {
             var directoryEntry2 = (DirectoryEntry) iEnumerator1.Current;
             if (directoryEntry2.SchemaClassName != "IIsWebServer") continue;
             var iISWebServer = new IISWebServer
                                    {
                                        iID = Convert.ToInt32(directoryEntry2.Name),
                                        sServerName =
                                            (String) directoryEntry2.Properties["ServerComment"].Value
                                    };
             var directoryEntry3 =
                 new DirectoryEntry(String.Concat("IIS://localhost/W3SVC/", iISWebServer.ID, "/Root"));
             iISWebServer.sRootPath = directoryEntry3.Properties["Path"][0] as String;
             IEnumerator iEnumerator2 = directoryEntry3.Children.GetEnumerator();
             try
             {
                 while (iEnumerator2.MoveNext())
                 {
                     var directoryEntry4 = (DirectoryEntry) iEnumerator2.Current;
                     if (directoryEntry4.SchemaClassName.ToUpper() == "IIsWebVirtualDir".ToUpper())
                     {
                         var iISWebVirtualDirectory = new IISWebVirtualDirectory
                                                          {
                                                              _sPath =
                                                                  (String) directoryEntry4.Properties["Path"][0],
                                                              _sName = directoryEntry4.Name,
                                                              _isApplication =
                                                                  (String)
                                                                  directoryEntry4.Properties["AppRoot"][0] !=
                                                                  String.Concat("/LM/W3SVC/", iISWebServer.ID,
                                                                                "/ROOT"),
                                                              _iWebServerID = iISWebServer.ID
                                                          };
                         iISWebServer.VirtualDirectories.Add(iISWebVirtualDirectory);
                     }
                 }
             }
             finally
             {
                 var iDisposable = iEnumerator2 as IDisposable;
                 if (iDisposable != null)
                 {
                     iDisposable.Dispose();
                 }
             }
             iISWebServerCollection.Add(iISWebServer);
         }
     }
     finally
     {
         var iDisposable = iEnumerator1 as IDisposable;
         if (iDisposable != null)
         {
             iDisposable.Dispose();
         }
     }
     return iISWebServerCollection;
 }
 public void Insert(int index, IISWebVirtualDirectory value)
 {
     List.Insert(index, value);
 }
 public void Remove(IISWebVirtualDirectory value)
 {
     List.Remove(value);
 }
 public int Add(IISWebVirtualDirectory value)
 {
     return(List.Add(value));
 }
示例#7
0
        public IISWebServerCollection GetWebServers()
        {
            var         iISWebServerCollection = new IISWebServerCollection();
            IEnumerator iEnumerator1           = new DirectoryEntry("IIS://localhost/W3SVC").Children.GetEnumerator();

            try
            {
                while (iEnumerator1.MoveNext())
                {
                    var directoryEntry2 = (DirectoryEntry)iEnumerator1.Current;
                    if (directoryEntry2.SchemaClassName != "IIsWebServer")
                    {
                        continue;
                    }
                    var iISWebServer = new IISWebServer
                    {
                        iID         = Convert.ToInt32(directoryEntry2.Name),
                        sServerName =
                            (String)directoryEntry2.Properties["ServerComment"].Value
                    };
                    var directoryEntry3 =
                        new DirectoryEntry(String.Concat("IIS://localhost/W3SVC/", iISWebServer.ID, "/Root"));
                    iISWebServer.sRootPath = directoryEntry3.Properties["Path"][0] as String;
                    IEnumerator iEnumerator2 = directoryEntry3.Children.GetEnumerator();
                    try
                    {
                        while (iEnumerator2.MoveNext())
                        {
                            var directoryEntry4 = (DirectoryEntry)iEnumerator2.Current;
                            if (directoryEntry4.SchemaClassName.ToUpper() == "IIsWebVirtualDir".ToUpper())
                            {
                                var iISWebVirtualDirectory = new IISWebVirtualDirectory
                                {
                                    _sPath =
                                        (String)directoryEntry4.Properties["Path"][0],
                                    _sName         = directoryEntry4.Name,
                                    _isApplication =
                                        (String)
                                        directoryEntry4.Properties["AppRoot"][0] !=
                                        String.Concat("/LM/W3SVC/", iISWebServer.ID,
                                                      "/ROOT"),
                                    _iWebServerID = iISWebServer.ID
                                };
                                iISWebServer.VirtualDirectories.Add(iISWebVirtualDirectory);
                            }
                        }
                    }
                    finally
                    {
                        var iDisposable = iEnumerator2 as IDisposable;
                        if (iDisposable != null)
                        {
                            iDisposable.Dispose();
                        }
                    }
                    iISWebServerCollection.Add(iISWebServer);
                }
            }
            finally
            {
                var iDisposable = iEnumerator1 as IDisposable;
                if (iDisposable != null)
                {
                    iDisposable.Dispose();
                }
            }
            return(iISWebServerCollection);
        }
 public void Remove(IISWebVirtualDirectory value)
 {
     List.Remove(value);
 }
 public void Insert(int index, IISWebVirtualDirectory value)
 {
     List.Insert(index, value);
 }
 public int Add(IISWebVirtualDirectory value)
 {
     return List.Add(value);
 }