DirectoryEntry.Properties["Путь"] Value.ToString(). Проблема IIS7. C#
В настоящее время получаю Unknown error (0x80005000)
- Связано с "Исключением COM" в C# при запуске следующего кодаstring virtualDirectory = GetVirtualDirPath("IIS://localhost", "1", reportUrl);
static string GetVirtualDirPath(string iisHost,
string siteName, string vdName)
{
string adsiPath = iisHost + "/W3SVC/" + siteName + "/Root/test/" + vdName;
try
{
DirectoryEntry entry = new DirectoryEntry(adsiPath);
return entry.Properties["Path"].Value.ToString();
}
catch (Exception ex)
{
// If Virtual Directory is not found,
// it will throw exception.
return "";
}
return "";
}
Я настроил "поделиться" как виртуальный каталог внутри "/test" (http://localhost/test/share) и попытался дать этой папке соответствующие разрешения.
Я читал, что это работает только в IIS6, а не IIS7? Если да, то каков эквивалентный код?
1 ответ
Решение
IIS7 теперь предоставляет API управляемого управления, информацию о котором можно найти здесь.
Более конкретно, существуют классы, облегчающие управление виртуальными каталогами.
var iis = new ServerManager();
var site = iis.Sites["SiteName"];
var application = site.Applications["ApplicationName"];
var directories = application.VirtualDirectories;
//proceed to determine the physical path of appropriate directory
var path = directories[0].Path;