У меня есть простой селектор файлов в моем веб-приложении, который использует Directory.GetFiles и Directory.GetDirectories для создания пользовательского интерфейса. Это отлично работает на моем локальном хосте, но когда я загружаю его на мой хост Windows Server 2003, я могу видеть только файлы - в том же каталоге, GetFiles работает, но GetDirectories этого не делает.Directory.GetFiles работает, Directory.GetDirectories не находится в том же каталоге
Код невероятно прост - строка реж создается Server.MapPath вызова, а затем:
List<string> dirs = Directory.GetDirectories(dir).ToList();
List<string> files = Directory.GetFiles(dir).ToList();
Я попробовал все, что я могу думать с точки зрения безопасности; даже до такой степени, чтобы дать «Каждому» полный доступ ко всем каталогам в корневом каталоге сети, и даже это не имеет никакого значения.
Так что если проблема не в безопасности, я был бы очень признателен за некоторые предложения по поводу большего количества вещей, чтобы попробовать!
Обновление: Я довольно тупой - код, который выплевывал HTML, содержал очень старый тестовый код, который не имел никакого значения на локальном, поэтому его не заметили и не удалили, но это вызвало каждую директорию на сервере, чтобы его игнорировать! Что это было?
if (!subDir.Contains(".")) { ...
На сервере все сайты находятся в папках, названных по их домену - на местном, их нет. Me == глупо. Извините всех!