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