Prozess.Startinfo um das drucken von PDF funktioniert nicht in Windows Server 2003 aus ASP.NET
Ich habe den untenstehenden code in ASP.NET C# - und es funktioniert Prima im lokalen system + Produktion Maschine, wenn ich getestet im debug-Modus. aber es funktioniert nicht, wenn ich Upload auf den IIS.
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = Server.MapPath(filePath);
startInfo.Verb = "print";
startInfo.Arguments = "Printer Name";
Process proc = new Process();
proc.StartInfo = startInfo;
proc.Start();
proc.WaitForExit(5000);
if (proc.HasExited == false)
{
proc.Kill();
}
Dinge, die ich versuchte.
- Systemsteuerung > Admin Services > Services > IIS Admin-Service > Registerkarte "Anmelden" > Scheck für die Interaktion mit desktop. Zurücksetzen von IIS Admin und IIS.
- Drucker Eigenschaften > Sicherheit > Grand ASPNET, Netzwerkdienst, dass JEDER vollen Zugriff.
- Versucht, um einen anderen Drucker als Standard-Drucker. Neu Installieren /Drucker Hinzufügen.
Ich habe versucht, alle oben genannten, jedoch ohne Erfolg. schließlich habe ich versucht unten in meinem Rechner.config.
- WINNT>Microsoft.NET>Framework>v2.52something>Config> Maschine.config
Ersetzte ich diese
processModel autoConfig="true"
mit diesem
processModel userName="SYSTEM" password="AutoGenerate"
und ich bin immer diese Meldung
"Bevor Sie durchführen können print-bezogenen Aufgaben, die Sie installieren müssen, um eine
Drucker"
bin ich mit acrobat 7 und ich kann drucken Sie die Testseite vom Drucker selbst und von der acrobat-software.
InformationsquelleAutor kaung htet naing | 2012-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie verwenden Verb, wenn acrobat installiert ist, die auf Ihrer Maschine. und pass Drucker-Namen als Argumente
ja, ich habe es schon installiert in der Produktion Maschine. eigentlich habe ich es schon geschafft, zu drucken, in der Produktion Maschine mit alten code gepostet, dass ich in meiner Frage. helfen
versuchen Sie es mit der "print" verb anstelle von "PrintTo"
okay... versuchen, erstellen eines Beispiel-Konsole-app aus dem Beispiel in diesem Artikel msdn.microsoft.com/en-us/library/...
Hallo danke Shoaib, aber wie ich oben sagte, es ist in Ordnung, die in den debug-Modus. also selbst wenn ich erstellen Sie eine Beispiel-Konsolenanwendung funktioniert es auch im debug-Modus. ich denke, es ist etwas im Zusammenhang mit der Frage der Sicherheit in IIS. Hilfe!!!
InformationsquelleAutor Shoaib Shaikh
Kann das Problem, dass der IIS läuft unter einem anderen Benutzer, der weniger Berechtigungen als ein normaler Benutzer. Sehen System.Diagnostik.Prozess.Starten Sie nicht die Arbeit eines IIS
Ich fixiert auf mein server durch ändern der ProcessModel-Identität für einen Benutzer, der die erforderlichen Berechtigungen hat. Vermutlich ein workaround und schlechte Praxis, aber es funktionierte. {Application-Pool} -> Erweiterte Einstellungen -> Identität -> Custom-Konto (Auch toggle-Benutzerprofil Laden auf true)
InformationsquelleAutor HyShai