매핑 된 네트워크 드라이브와 상호 작용하는 타사 프로세스를 실행해야하는 웹 서비스에서 작업하고 있습니다. 따라서이 드라이브를 프로그래밍 방식으로 웹 서비스에서 매핑해야합니다.C# - 웹 서비스에서 네트워크 드라이브로 연결
내가 이미 다른 프로젝트에 대한 더 좋은 수업 등 WNetAddConnection2을 싸서, 그래서 내가 바로의 코드를 던졌다.
우리의 웹 서비스는에서 실행 (대신 IIS의) UltiDev 카시니에서 실행됩니다 시스템 계정. 매번 "지정된 장치 이름이 유효하지 않습니다"라는 오류 코드가 나타납니다. 나는 또한 동일한 결과와 함께 web.config 파일에서 다른 사용자를 가장하려고 시도했습니다.
일반 사용자 계정으로 콘솔 프로그램에서 코드를 실행하면 드라이브가 잘 매핑됩니다.
WNetAddConnection과 동일한 결과를 사용하여 C에서 동일한 "net use"명령을 실행 해 보았습니다.
Windows 서비스 또는 시스템 사용자가 네트워크 드라이브를 매핑 할 수없는 이유를 알고있는 사람이 있습니까?
해결 방법을 알고 계십니까? 단순히 시스템 시작시 드라이브를 매핑하는 것이 해결책 일 수 있지만 시스템/가장 된 사용자가 어떻게 액세스 할 수 있습니까? UltiDev 카시니에 대한
링크 : UltiDev
해결책 : 나는 관리자에서 로그온 할 수 UltiDev 카시니 서비스를 설정하고 모든 노력하고 있습니다. ASP .Net 가장은 계획 한대로 작동하지 않아야합니다.
그러면 web.config 가장이 왜 작동하지 않습니까? Environment.Username을 우리의 로그에 인쇄하고 관리자를 인쇄하지만, UltiDev 프로세스를 보면 여전히 로컬 시스템 아래에 있습니다. UltiDev가 이상한 일을 할 수 있습니까? – jonathanpeppers
로컬 시스템 계정에 네트워크 액세스 권한이 있지만 네트워크 리소스에 익명 자격 증명을 제공합니다. – bryanbcook