以编程方式修改默认网站的默认物理文件位置(IIS 6.0)

时间:2013-05-30 12:59:41

标签: c# web location iis-6 default

如何以编程方式(使用C#)修改IIS 6.0中默认网站的默认物理文件位置?

MSDN对此有an article

您可以使用“网站属性”对话框的“主目录”选项卡指定网站主目录的路径,以及主目录是驻留在本地计算机上还是驻留在网络计算机上。默认网站主目录是SystemDrive:\ Inetpub \ Wwwroot。

如何以编程方式实现此目标?

更新:我可以使用ServerManager Class在IIS 7及更高版本中执行此操作。我研究了很多,但在IIS 6中找不到具体的方法。任何帮助都会非常感激。

以下是我在IIS 7中的操作方法

using (ServerManager iisManager = new ServerManager())
 {
   var site = iisManager.Sites["Default Web Site"];
   site.Applications["/"].VirtualDirectories["/"].PhysicalPath = "C:\MyFolder";
   site.ApplicationDefaults.ApplicationPoolName = "DefaultAppPool";
   site.ServerAutoStart = true;
   iisManager.CommitChanges();
 }

2 个答案:

答案 0 :(得分:0)

使用Microsoft.Web.Administration

ServerManager serverManager = new ServerManager();
serverManager.remove("yoursitename");
serverManager.Update();
serverManager.Sites.Add("yoursitename", "protocol", "port", "yourNewLocation");
serverManager.Update();

但是,我认为它只适用于IIS7 +

答案 1 :(得分:0)

我知道这将在IIS 6中帮助您。您需要找到物理文件位置的属性名称才能设置它,但这应该可以解决问题。 metabasePath变量中的1是IIS中站点的ID - 默认Web站点可能有不同的内容,因此请检查它。这是用VB.net编写的,但将其转换为C#是一项简单的任务。

if (!isset($data['places']) || sizeof($data['places']) === 0) {...}