Я столкнулся со странной проблемой в IIS 7.0:
У меня есть следующий виртуальный каталог в IIS:
и только виртуальный каталог Windows включен в режиме IIS
Теперь, если я попытаюсь связать DirectoryEntry для TestV / Folder / file.aspx следующим образом:
string vDir = @"/TestV/folder/file.aspx";
DirectoryEntry dir = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1/ROOT" + vDir, @"adminusername", @"password");
dir.AuthenticationType = AuthenticationTypes.Secure;
try
{
Console.WriteLine(dir.Name);
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
Console.WriteLine("");
Я получаю исключение:
«Системе не удается найти указанный путь»
Теперь, если я вернусь в IIS и затем выполню следующие шаги:
Щелкните правой кнопкой мыши TestV / Folder и включите режим анонимной аутентификации, а затем снова отключите его
Щелкните правой кнопкой мыши TestV / Folder / file.aspx и включите режим анонимной аутентификации, а затем снова отключите его
По сути, я только что выполнил некоторый ручной доступ к aspx-файлу Testv / Folder / file.aspx.
После выполнения описанных выше шагов, если я запустил программу, код успешно сможет получить доступ к записи каталога и успешно напечатает имя (file.aspx)
В чем здесь проблема?
Еще одна информация:
Я также вижу это поведение в IIS 6.0. Таким образом, это выглядит как до тех пор, пока я не выполню ручную операцию в IIS для папки / файла в виртуальном каталоге, он не создаст соответствующие метаданные в активном каталоге?