2010-03-30 94 views
0

我需要更改虚拟目录的物理路径在C#中的位置。这是通过安装程序执行的,因此它将在虚拟目录所在的机器上运行。如何在IIS7和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不是物理上的。任何帮助?

UPDATE:

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

        srvMgr.CommitChanges(); 

的DirectoryEntry属性的 “路径” 包含了本地的物理,位置,我需要改变。但由于某种原因,上述内容什么都不做。我没有看到任何异常,但属性值似乎没有变化。

回答

-1
HttpServerUtility.MapPath('~/Virtual'); 
+0

我想也许你正在考虑网络。这是本地运行托管应用程序的Web服务器的代码。换句话说,这不是一个ASP或Silverlight问题。 – Nick 2010-03-31 01:52:55

+0

哎呀,我的歉意!我以为你试图获得路径:) – mrwayne 2010-03-31 22:08:12

1

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

virtualDirectory.CommitChanges(); 
相关问题