web.config


Die Parametrierung erfolgt in der Datei 'web.config' und darf nur von geschulten Mitarbeitern gemacht werden. Syntaxfehler in dieser Datei führen dazu, dass NEXUS / PATNG nicht gestartet werden kann.
Es ist deshalb sinnvoll, vor Anpassungen diese Datei unter einem anderen Namen zu sichern.
Wenn die Datei 'web.config' geändert worden ist und gespeichert wird, werden alle zu diesem Zeitpunkt in NEXUS / PATWEBNG angemeldeten Anwender bei der nächsten Transkation automatisch wieder auf die Anmeldemaske geleitet. Noch nicht abgespeicherte Datenanpassungen sind damit verloren.
Die Datei 'web.config' befindet sich Root-Verzeichnis der Installation auf dem IIS, z. B. 'C:\inetpub\wwwroot\PatWeb'
Im Abschnitt '<printing>' befinden sich die Zeilen zur Definition eines Reports. Diese beginnen mit '<reportConfig'.
Im Wert von 'copies' steht die Anzahl der Kopien, die beim Direktdruck ausgegeben werden sollen. Wenn die Zahl negativ ist, wird der Wert angezeigt und der Anwender kann diesen verändern. Der Betrag ist die Anzahl, welche im Eingabefeld angezeigt wird.
Im Wert von 'printer' steht der Name des Druckers, der beim Direktdruck verwendet wird. Steht dort 'drucker1', 'drucker2' oder 'drucker3', wird der in den 'clientConfig' Zeilen definierte physische Drucker genommen. Ist der Wert 'X' so wird über den Service 'Nexus.Pat.Print' gedruckt. Es wird dann der für den entsprechenden Anwender definierte Drucker für dieses Dokument aus NEXUS / PATNG verwendet.
Bsp.:
<printing>

<reportConfig name="Patweb_Etiketten Klein" file="819" sp="PWREPORTANFORDERN" printer="drucker1" copies="-1" …/>
Im Abschnitt '<printing>' befinden sich auch die Zeilen zur Definition der physischen Druckernamen eines Clients. Diese beginnen mit '<clientConfig'.
Im Wert von 'clientname' steht der Name des Clients, für den die entsprechende Zeile gilt. Der erwartete Name wird in der Loginmaske von NEXUS / PATWEBNG unten rechts angezeigt. Die Gross-/Kleinschreibung ist für die Parametrierung von diesem Namen nicht relevant.
In den Werten von 'drucker1', 'drucker2' und 'drucker3' wird jeweils der für diesen Client zu verwendete physische Druckername geschrieben, sofern bei einem Report in der reportConfig-Zeile im Wert von printer 'drucker1', 'drucker2' bzw. 'drucker3' steht.
Bsp.:
<printing>

<clientConfig clientname="Rechner1" drucker1="\\printserver\druckerx" drucker2="\\printserver\druckery " drucker3="" />
Untere rechte Ecke der Login-Maske mit dem Clientnamen:


Zugriff auf einem Drucker vom Applikation-Pool


Der Client-abhängige Druck wird auf den IIS ausgeführt. Folglich muss der physische Druckername so geschrieben werden, wie er auf dem IIS bekannt ist.
Falls der Drucker noch nicht auf dem IIS installiert ist, wird probiert, dies automatisch programmatisch zu machen.
Falls dies nicht möglich ist, wird eine entsprechende Fehlermeldung ausgegeben. Unter Umständen, wenn der unbekannte Errorcode 87 angezeigt wird, kann die im nächsten Kapitel 3.2.1 beschriebene Massnahme, das Problem lösen.
Informationen, ob eine Installation erfolgreich war und welche Drucker zu diesem Zeitpunkt auf dem IIS schon installiert sind, werden im Logfile von PatWeb ausgegeben.
Diese befindet sich, je nach Parametrierung in der Datei Log4net.config im Verzeichnis „c:\temp".
Eine Herausforderung ist noch die Berechtigung, um vom IIS aus drucken zu können. Im Internet ist zu diesem Thema viel zu finden, aber es gibt keine eindeutige, klare Beschreibung, was gemacht werden muss.
Im nachfolgenden Kapitel wird die bisher erfolgreiche Massnahme beschrieben.

Identität des Anwendungspools anpassen


Im IIS-Manager ist beim Anwendungspool, mit dem NEXUS / PATWEBNG läuft, die Identität vom Defaultwert 'ApplicationPoolIdentity' auf einen tatsächlich existierenden Systemkonto zu ändern, z. B. 'LocalService', 'LocalSystem', 'NetworkService' oder ein anderes Benutzerkonto.
Der Grund dafür ist, dass die 'ApplicationPoolIdentity' ein sogenannter virtueller Account ist, der unter Umständen keinen Zugriff auf System-Ressourcen, wie z. B. Druckertreiber, hat.
Quelle:
https://support.combit.net/reporting-tool/support/kb/zugriff-auf-drucker-innerhalb-einer-webanwendung-i/