2011-04-18 3 views
1

DirectoryInfo를 사용하여 UNC 경로가 존재하는지 확인하지만 DirectoryInfo 일관성은 실패하고 폴더가 존재하지 않는다고 말하면 Windows 탐색기에서 확인할 수 있습니다.UNC 경로와 함께 DirectoryInfo 사용

var storagepath = new DirectoryInfo(@"\\123.123.123.123\c$\testfolder\test1\"); 

if (storagepath.Exists) 
{ } 

예는이 주위에 방법이 있나요?

답변

2

귀하의 프로그램과 관련하여 몇 가지 질문이 있습니다.

탐색기로 확인중인 사용자와 동일한 컨텍스트에서 실행되고 있습니까? 예를 들어, 콘솔 응용 프로그램을 제한된 사용자로 실행하지만 상위 권한 사용자 등으로 로그인 할 수 있습니까?

Exists가 False 인 이유 중 하나는 리소스에 액세스 할 권한이 없음을 포함합니다.

EnumerateDirectories와 같은 다른 방법을 시도해보고 결과가 무엇인지 볼 수 있습니다. EnumerateDirectories의 예외 및 결과는 Exists보다 약간 설명이 좋습니다.

+0

사용자 ID로 경로를 인증하면이 문제가 해결됩니다. 감사합니다. – wonea

+0

안녕하세요 @wonea이 문제를 해결하는 방법을 알려 주실 수 있습니까? 나는 동일한 문제가 있는데, 먼저 사용자를 인증해야하지만, 어떻게해야하지? ... –

+1

내 간단한 문제를 해결 한이 간단한 Windows 가장 예제 라이브러리를 찾았습니다. 이 라이브러리를 호출하고 인증 된 사용자와 함께 실행해야하는 명령을 사용하는 캡슐화에 넣기 만하면됩니다. http://www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User – wonea