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