2010-03-30 4 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

어쩌면 당신은 웹의 관점에서 생각하고 있다고 생각합니다. 응용 프로그램을 호스팅하는 웹 서버에 로컬로 실행되는 코드입니다. 즉, ASP 또는 Silverlight 질문이 아닙니다. – Nick

+0

죄송합니다. 사과드립니다. 나는 네가 길을 찾으려고 애쓰는 줄 알았다. :) – mrwayne

1

잘못된 것이 있습니다. 나는 VirtualDirectory가 아닌 ServerManager에 대한 변경을 위탁하고 있었다.

virtualDirectory.CommitChanges(); 
관련 문제