DirectoryInfo доступ к виртуальной папке

Я пытаюсь использовать DirectoryList в виртуальном каталоге, чтобы создать список файлов. Однако я получаю ошибку;

URI не поддерживается

Есть ли альтернатива этому, которая поддерживает URL? Вот мой код пока.....

DirectoryInfo directoryinfo = new DirectoryInfo("http://localhost:1080/mydatafolder");
IEnumerable<FileInfo> fileList = directoryinfo.GetFiles();

В качестве двойной проверки я убедился, что просмотр каталогов включен, и я могу просматривать его с помощью Opera.

2 ответа

Решение

Если вы хотите получить список файлов с удаленного HTTP-сервера, вы можете использовать класс HttpWebRequest, чтобы опубликовать запрос списка каталогов и проанализировать содержимое страницы индекса HTML, возвращенной IIS.

Вот начало:

var request = (HttpWebRequest)WebRequest.Create("http://servername/directoryname/");
var response = (HttpWebResponse)request.GetResponse();

using (var reader = new StreamReader(response.GetResponseStream()))
{
    string body = reader.ReadToEnd();
}

Связанные ресурсы:

DirectoryInfo предназначен только для файловой системы, вы должны использовать DirectoryEntry для получения информации IIS.

Ознакомьтесь с этой статьей, чтобы увидеть все возможные способы получения и изменения метаданных IIS с помощью C#: http://www.codeproject.com/KB/cs/iismanager.aspx

Другие вопросы по тегам