1

파일 경로를 모니터링하고 나중에 생성 된 파일에 대해 몇 가지 작업을 수행하기위한 Windows 서비스가 있습니다.디렉터리 이름 <Path>이 잘못되었습니다. | 의장 | Windows 서비스

모니터링 할 위치는 가장 한 사용자가 모든 액세스 권한을 가진 네트워크 위치입니다. 나는 자격 증명을 사용하여 액세스 할 때 네트워크 경로에 액세스 할 수 있기 때문에, "디렉터리 이름이 잘못되었습니다"... 나는이 오류의 원인이 무엇인지 단서가 없다

-

LOGON32_LOGON_INTERACTIVE = 3; 
LOGON32_PROVIDER_DEFAULT = 0; 

string watchPath = @"\\servername\Folder\"; 
using (new Impersonator("UserName", "Domain", "Password")) 
{ 
    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] 
    FSWatcher = new FileSystemWatcher(); 
    FSWatcher.Path = watchPath; \\ POINT OF ERROR 
    FSWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; 

    FSWatcher.Filter = "*.xls"; 
    FSWatcher.Created += new FileSystemEventHandler(OnChanged); 
    FSWatcher.EnableRaisingEvents = true; 
    FSWatcher.IncludeSubdirectories = false; 
} 

내가 말하는 오류를 얻을 수 수동으로.

답변

1

다른 서버의 리소스에 액세스하려는 경우 자격 증명을 위임 할 수 있도록 코드가 실행되고있는 계정 (가장 된 계정 아님)을 구성해야합니다.

확인이 MSDN 기사를 확인하십시오 : Impersonation/Delegation