使用IIS8.0以编程方式创建虚拟目录



我正在尝试使用以下代码创建一个虚拟目录:

ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", @"D:mineTestAppsTestAppXML");
iisManager.CommitChanges();

当通过Console应用程序使用时,此代码运行良好。但是,当我通过Web应用程序使用相同的代码时,它并没有完成所需的工作。它也没有给出任何错误。有人知道为什么相同的代码不能用于Web应用程序吗?

我不知道你是不是在抓取网站id。

这样做的方法是操作Site.Applications集合,它是站点中所有应用程序的扁平树。

如果你想创建一个虚拟目录,试试这个:

//Get site information
Site site = srvam.Sites.First(s => s.Id == 3);
if (!SiteExists(srvman, siteId))
                    throw new ApplicationException();
Application iisManager = site.Applications.First(a => a.Path == "/");
iisManager.VirtualDirectories.Add("/vdir_1", @"D:MySiteother_content");
srvam.CommitChanges();

如果你想创建一个虚拟应用程序,请使用以下代码:

//Get site information
    Site site = srvman.Sites.First(s => s.Id == 3);
if (!SiteExists(srvman, siteId))
                    throw new ApplicationException();
Application app = 
   site.Applications.Add("/app_2", @"d:mysiteother_content");
app.ApplicationPoolName = "MySite";
srvman.CommitChanges();

这里有一篇很棒的文章

最新更新