我正在进行Web服务安装。 我需要做的一件事是在默认网站下创建一个新的虚拟目录。 问题是我需要为该虚拟目录设置一个不同的应用程序池(请不要问为什么......这些是要求而我无能为力)。
在IIS6中,由于虚拟目录和应用程序之间没有区别,所以我没有遇到任何问题。 在IIS7中,无法将应用程序池设置为虚拟目录,因此我需要创建一个新的“应用程序”并将应用程序池附加到它。
我在C#中找不到任何合理的示例/教程。我需要一些帮助: - )
感谢。
答案 0 :(得分:1)
在那里找到答案。 我使用相同的代码在IIS6中创建虚拟目录,在IIS7上创建应用程序:
DirectoryEntry defaultWebSite = GetWebSiteEntry(DEFAULT_WEB_SITE_NAME);
DirectoryEntry defaultWebSiteRoot = new DirectoryEntry(defaultWebSite.Path + "/Root");
//Create and setup new virtual directory
DirectoryEntry virtualDirectory = defaultWebSiteRoot.Children.Add(applicationName, "IIsWebVirtualDir");
virtualDirectory.Properties["Path"][0] = physicalPath;
virtualDirectory.Properties["AppFriendlyName"][0] = applicationName;
virtualDirectory.CommitChanges();
// IIS6 - it will create a virtual directory
// IIS7 - it will create an application
virtualDirectory.Invoke("AppCreate", 1);
object[] param = { 0, applicationPoolName, true };
virtualDirectory.Invoke("AppCreate3", param);
答案 1 :(得分:0)
使用C#,您可以尝试运行一些创建虚拟目录的服务器端脚本。
使用'Execute'命令运行它: http://www.codeproject.com/KB/cs/Execute_Command_in_CSharp.aspx