2014-07-07 3 views
0

콘솔 응용 프로그램의 일부가 우리가 사용하는 서버의 디렉토리에서 원하지 않는 주문 파일을 삭제하도록 구축되었습니다. 코드의이 부분은 로컬 컴퓨터에서 실행하면 잘 작동하지만 서버에서 실행하면 예약 된 작업이됩니다. 더 이상 파일을 삭제하지 않습니다.서버에서 파일을 삭제할 수 없습니다.

try 
{ 
    System.IO.File.Delete(@"\\ServerName\ProductionFileShare\Orderfiles\FileDir\" + fileName); 
} 
catch (System.IO.IOException e) 
{ 
    Console.WriteLine(e.Message); 
    return; 
} 

파일 이름은 storeorder.txt입니다.

내가 말했듯이 이것은 내 로컬 컴퓨터에서 정상적으로 작동하지만 서버 자체에서이 프로그램을 실행할 때 파일을 삭제하지는 않습니다. 어떤 아이디어?

업데이트 : 예외 메시지 : 프로세스가 '\ ServerName \ ProductionFileShare \ Orderfiles \ FileDir \ storeorder_07062014_16-25-0.txt'파일을 다른 프로세스에서 사용 중이므로 액세스 할 수 없습니다.

내 컴퓨터에서 작동하기 때문에 나에게 이상합니다. 일부 가비지 수집을 추가하고 어떤 일이 발생하는지 살펴 보겠습니다.

업데이트 # 2 : 분명히 고쳐졌습니다! 그것은 예상치 못한 해결책이었습니다. 코멘트 할 시간을내어 주신 모든 분들께 감사 드리며, 정말로 감사드립니다.

+0

예외의 오류 메시지는 무엇입니까? – Steve

+0

예외 게시. – mxmissile

+2

로컬 시스템 계정에 파일을 삭제할 수있는 권한이 없을 수 있습니다. 예외는 당신을 그렇게 지적해야합니다. – 48klocs

답변

0

관리자 공유 (\\ server \ c $ \ path \ file.txt)로 이동하거나 경로를 로컬 경로로 변경하기 전에이 문제가 발생했습니다.

파일 사용 권한과 공유 자체에 액세스 할 수있는 권한이 있으며 나중에 문제가있는 곳이있을 수 있습니다.

경로를 변경하면 공유를 쉽게 수정할 수 없으므로 환경 설정을 구성하고 각 위치마다 다른 구성을 사용할 수 있습니다.

관련 문제