Hallo Leute,
ich habe eine Anwendung auf einem Win2012-Terminalserver auf den sich die User direkt per RDP aufschalten. Der Server befindet sich im Internet. Die Druckerumleitung ist aktiv, d. h. die lokalen Drucker stehen auch auf dem Terminalserver zur Verfügung.
In einer Druckauswahlmaske zeigen wir alle vorhandenen Drucker inkl. der jew. vorhandenen Schächte an.
Die Drucker und Schächte werden durchlaufen und separat gecached. Das Durchlaufen der Druckerinformationen dauert teilweise, abhängig von der Internetverbindung bis zu 10 Minuten, was natürlich alles andere als benutzerfreundlich ist.
for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
{
PrinterSettings settings = new PrinterSettings();
settings.PrinterName = PrinterSettings.InstalledPrinters[i];
............
foreach (PaperSource source in settings.PaperSources)
{
.............
}
}
Auf dem gleichen Server ist auch Microsoft Word installiert, dort gibt es überhaupt keine Verzögerungen. Man merkt quasi gar nicht, dass die Drucker über eine RDP-Verbindung via Internet angesprochen werden.
Habt Ihr eine Idee wie Word das bewerkstelligt?
Danke & Gruß
fungi35
Wahrscheinlich serialisiert WinWord die PrinterSettings, um beim Startup die letzten bekannten Settings zu nehmen.
Du könntest das gleiche machen, wenn Du dann auch einen Reload Button für die Settings hinzufügst.