IIS 7.5 üzerinde çalışan bir ASP.Net 4.0 web uygulamasına sahibim, System.Drawing.Printing.PrinterSettings.InstalledPrinters
komutunu kullanarak yüklü yazıcıların listesini alabilir ve her raporu yukarıda listelenen herhangi bir yazıcıya atayabilirim !Ağ Bağlantılı Yazıcı ASP.Net Uygulamasında mevcut değil
bazı Ağ Bağlı Yazıcı tüm uygulamanın kullanıcı hesabına tam ayrıcalık seti sunucuda da olabilir, her şey bu noktada, System.Drawing.Printing.PrinterSettings.InstalledPrinters
döner yalnızca yerel yazıcılar pencerelerin kapalı uygulamanın kullanıcı hesap günlükleri kadar mükemmel çalışır Ağ Bağlantılı Yazıcılar listelenmiyor!
: Bir belirli bir kullanıcı olarak çalışacak şekilde uygulama havuzunun Process Model
yapılandırılmış
- Kimlik.
- ben Web.config belirli bir kullanıcıya Uygulamanın kimliğini taklit:
Ve nihayet yukarıdaki yöntemlerin tümünde
advapi32.dll
API
<identity impersonate="true" userName="user" password="pass"/>
kullanarak kodunda bürünme uygulanan WindowsIdentity
, yazdırma sırasında gerçek kullanıcı adını döndürür:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
Ancak, bu kimliğe bürünme işleminin burada değil, kullanıcının oturumu kapattığı anda görünüyor, tüm Ağ Bağlantılı Yazıcılar gitti!
Bunu nasıl çözeceğini bilen var mı? Kullanıcı giriş yapmasa bile Ağ Bağlantılı Yazıcılara erişmenin herhangi bir yolu var mı?
gibi
PrintServerUNCName
karşılık gelen sunucu UNC name olduğunu:System.Printing.PrintServer
veGetPrintQueues
yöntemi kullanarak, yazdırma sunucusu barındıran yazdırma kuyrukları koleksiyon alabilirsiniz Aynı konuya sahip olmak ... Bunun için bir çözüm buldunuz mu? – JDT