2010-07-09 2 views
0

System.ServiceProcess.ServiceBase를 상속하는 창 서비스가 있습니다. 디버그 모드 (havent 테스트 컴파일 된)에서 실행하는 동안 스레드가 현재 사용자 자격 증명을 볼 수 없습니다.ServiceBase Credentials

WebProxy를 설정할 수 있도록 자격 증명이 필요하므로 사용자가 전달하고 문자열 대신 pwd를 전달하는 대신 서비스가 실행중인 계정을 사용하는 것이 좋습니다.

누군가 ServiceBase에서 상속받은 클래스의 코드에 로그인 한 사용자의 자격 증명이없는 이유를 알 수 있습니까?

답변

0

문제점을 해결했습니다.

처음에는 실제로는 문제가 아니지만 WindowsIdentity 개체를 통해 사용자에게 액세스 할 수 있습니다. 자격 증명은 실제로 비어 있었지만 일부 프로젝트 설정으로 인해 발생했습니다.

해결책으로 새로운 Windows 서비스 프로젝트를 만들고 원래 클래스 파일을 추가했으며 모든 것이 훌륭하게 작동했습니다. 나는 파일을 비교하려고 시도했지만 정확한 원인이나 이전 프로젝트와 새로운 프로젝트의 차이점을 발견하지 못했습니다. 그러나 나는 그 사실이 매니 페스트 파일 (UAC)이 존재했거나 어쩌면 설정 파일의 basicHttpBinding에있는 설정이라고 생각한다.