2014-11-07 5 views
0

두 개의 디렉토리 folder1과 folder2가 있습니다. folder1은 파일을 포함합니다. folder2 \ folder1 결과를 folder2 아래에 folder1 이동하고 싶습니다. 아래 C# 코드로이 작업을 수행하려고하면 다음과 같이 나타납니다.디렉토리를 이동하려고 할 때 액세스가 거부되는 이유는 무엇입니까?

System.IO.IOException : 'E : \ www \ dev \ test \ MoveDirectories \ folder1'경로에 대한 액세스가 거부되었습니다.

관련 코드 :

// In Page_Load. 
MoveDirectory("folder1"); 

// Method for moving directories. 
protected void MoveDirectory(string strMoveThis) 
{ 
    try 
    { 
     System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Server.MapPath(strMoveThis)); 
     dir.MoveTo(Server.MapPath("\\folder2\\")); 
    } 
    catch (Exception ex) 
    { 
     Response.Write(ex); 
    } 
} 

내 ASP.NET 4.0 응용 프로그램 풀은 폴더 1에 대한 권한을 수정할 수 있습니다. 이것은 실제로 훨씬 더 큰 응용 프로그램에서 가져온 코드가있는 테스트 응용 프로그램이므로 예상되는 모든 테스트 및 예외 처리가 필요하지 않습니다.

편집 : folder1 내에 파일을 만들 수 있음을 발견했습니다.

dir.MoveTo(Server.MapPath("\\folder2\\")); 
이에

:

dir.MoveTo(Server.MapPath("folder2\\" + strMoveThis)); 

동일한 권한이 있고 더 나은 형성

+0

다른 프로세스가 파일을 잠글 수 있습니까? – tezromania

+0

File Exporer를 연 상태라면 파일 닫기를 시도하십시오. 프로세스가 폴더를 잠글 수 있습니다. – JayL

+0

@tezromania : 나는 그것을 생각하고 있었지만, 나는 그 폴더를 사용할 수있는 모든 프로세스를 닫았다고 생각한다. – mrcoulson

답변

0

난 내 자신의 질문에 대답하기 싫어하지만 ... 기본적으로

,이 업데이트 경로. 도와 줘서 고마워, 모두들!