【问题标题】:Programmatically Modifying the Default Physical File Location of the Default Web Site (IIS 6.0)以编程方式修改默认网站的默认物理文件位置 (IIS 6.0)
【发布时间】:2013-05-30 12:59:41
【问题描述】:

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

MSDN 对此有 an article

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

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

更新:我可以在 IIS 7 及更高版本中使用 ServerManager 类来实现。我进行了很多研究,但找不到在 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();
 }

【问题讨论】:

    标签: c# web location iis-6 default


    【解决方案1】:

    使用Microsoft.Web.Administration

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

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

    【讨论】:

    • 是的,我已经使用该 dll 在 IIS 7 或更高版本中实现我想要的。我想要一些适用于 IIS 6 的东西。不过谢谢。
    【解决方案2】:

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

    dim metabasePath as String = "IIS://localhost/W3svc/1"
    Private Sub SetProperty(ByVal metabasePath As String, ByVal propertyName As String, ByVal newValue As Object, clearCurrentValue As Boolean)
            Dim path As DirectoryEntry
            path = New DirectoryEntry(metabasePath)
            If clearCurrentValue Then path.Properties(propertyName).Clear()
            path.Properties(propertyName).Add(newValue)
            path.CommitChanges()
    End Sub
    

    【讨论】:

    • 在某些领域通过代码管理 IIS6 非常困难(而在其他领域,我在 Internet 上找到的内容已被破坏)。
    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多