简体   繁体   中英

How can I change a virtual directory's physical path in IIS7 and C#?

I need to change the where a virtual directory's physical path is in C#. This is executed via an installer so it will be running on the machine where the virtual directory resides.

This is what I have so far:

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

                string currentPath = virtualDirectory.Path;


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

It would appear that the VirtualDirectory.Path is not a physical one. Any help?

UPDATE:

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

                    srvMgr.CommitChanges();

DirectoryEntry property "Path" contains the local, physical, location that I need to change. But for some reason the above does nothing. I don't see any exceptions but the properties value seems unchanged.

My Bad. I was committing changes on the ServerManager rather than on the VirtualDirectory.

virtualDirectory.CommitChanges();
HttpServerUtility.MapPath('~/Virtual');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM