перечисление виртуальных каталогов в IIS 6.0 - C # - PullRequest
0 голосов
/ 16 сентября 2011

Я написал приложение для Windows. Мой вопрос таков: я перечислял виртуальные каталоги в IIS 6.0 со сквозным кодом, как показано ниже. Мне нужно найти путь к выбранному виртуальному каталогу. Кроме того, класс DirectoryEntry имеет свойство с именем properties. Но я не могу использовать это. Наконец, я получаю следующее сообщение об ошибке.

   The directory cannot report the number of properties

Код:

  try

  {

  string serverName = "localhost";

  string VirDirSchemaName = "IIsWebVirtualDir";

  iisServer = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1");

  DirectoryEntry folderRoot = iisServer.Children.Find("Root",VirDirSchemaName);

  return folderRoot.Children;

  }

  catch (Exception e)

  {

  throw new Exception("Error while retrieving virtual directories.",e);

  }

1 Ответ

1 голос
/ 16 сентября 2011

почему вы не используете WMI

 using System.DirectoryServices;

    private DirectoryEntry _iisServer = null;
    private DirectoryEntry iisServer
    {
        get
        {
            if (_iisServer == null)
            {
                string path = string.Format("IIS://{0}/W3SVC/1", serverName);
                _iisServer = new DirectoryEntry(path);
            }
            return _iisServer;
        }
    }

    private IDictionary<string, DirectoryEntry> _virtualDirectories = null;
    private IDictionary<string, DirectoryEntry> virtualDirectories
    {
        get
        {
            if (_virtualDirectories == null)
            {
                _virtualDirectories = new Dictionary<string, DirectoryEntry>();

                DirectoryEntry folderRoot = iisServer.Children.Find("Root", VirDirSchemaName);
                foreach (DirectoryEntry virtualDirectory in folderRoot.Children)
                {
                    _virtualDirectories.Add(virtualDirectory.Name, virtualDirectory);
                }
            }
            return _virtualDirectories;
        }
    }

Список всех виртуальных каталогов в IIS 5,6 и 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...