如何在IIS 7和C#中更改虚拟目录物理路径?

时间:2010-03-30 22:40:58

标签: c# iis-7 virtual-directory

我需要更改虚拟目录的物理路径在C#中的位置。这是通过安装程序执行的,因此它将在虚拟目录所在的机器上运行。

这是我到目前为止所做的:

 using (DirectoryEntry webSiteRoot = WmiUtility.GetWebSiteRootDirectory(webSite))
            {
                DirectoryEntry virtualDirectory =
                    WmiUtility.GetVirtualDirectoryByName(webSiteRoot, vDirName);

                string currentPath = virtualDirectory.Path;


                    virtualDirectory.Path = "C:\somepath"
                    srvMgr.CommitChanges();

看起来VirtualDirectory.Path不是物理的。有什么帮助吗?

更新:

virtualDirectory.Properties["Path"].Value = "c:\newlocation";

                    srvMgr.CommitChanges();

DirectoryEntry属性“Path”包含我需要更改的本地物理位置。但出于某种原因,上述情况无效。我没有看到任何例外,但属性值似乎没有变化。

2 个答案:

答案 0 :(得分:1)

我的坏。我在ServerManager上而不是在VirtualDirectory上提交更改。

virtualDirectory.CommitChanges();

答案 1 :(得分:-1)

HttpServerUtility.MapPath('~/Virtual');