IIS 7.5에서 실행되는 ASP.Net 4.0 웹 응용 프로그램이 있습니다. System.Drawing.Printing.PrinterSettings.InstalledPrinters
명령을 사용하여 설치된 프린터 목록을 얻고 위에 나열된 프린터에 응용 프로그램의 각 보고서를 할당 할 수 있습니다 !네트워크 연결 프린터를 ASP.Net 응용 프로그램에서 사용할 수 없음
일부 네트워크에 연결된 프린터의 모든 응용 프로그램의 사용자 계정에 전체 권한을 설정 서버가있을 수 있습니다, 모든이 시점에서, System.Drawing.Printing.PrinterSettings.InstalledPrinters
만 반환 로컬 프린터를 창문 오프 응용 프로그램의 사용자 계정에 로그온 할 때까지 완벽하게 작동 , 네트워크 연결된 프린터가 나열되지 않습니다!
: 나는 특정 사용자로 실행되도록 응용 프로그램 풀 Process Model
을 구성
- 정체.
- 나는 의 Web.config에서 특정 사용자에게 응용 프로그램의 ID를 가장 한 :
그리고 마지막으로 위의 모든 방법으로
advapi32.dll
API
<identity impersonate="true" userName="user" password="pass"/>
를 사용하여 코드에서 가장을 구현 WindowsIdentity
은 인쇄 할 때 실제 사용자 이름을 반환합니다.
System.Security.Principal.WindowsIdentity.GetCurrent().Name
하지만 여기서는 가장이 문제가 아니라 사용자가 로그 오프 한 순간 모든 네트워크 연결 프린터가 사라진 것처럼 보입니다.
아무도이 문제를 해결하는 방법을 알고 있습니까? 사용자가 로그인하지 않아도 네트워크 연결된 프린터에 액세스 할 수 있습니까?
에로
PrintServerUNCName
는 해당 서버의 UNC name입니다 :System.Printing.PrintServer
과GetPrintQueues
방법을 사용하여, 당신은 인쇄 서버 호스트 인쇄 대기열의 컬렉션을 얻을 수 있습니다 같은 문제가 있습니다 ... 당신은 이것을위한 해결책을 찾았습니까? – JDT