2017-02-09 1 views
1

Ich arbeite an einer MVC Web-Anwendung. Diese Anwendung hat quartz.net Job, der zusammen mit der Anwendung bei der Bereitstellung gestartet wird. Quartz (Drittanbieter-DLLs) wurde nur für die Terminplanung verwendet. Dieser geplante Job ist in C# codiert. Dieser Job generiert Excel-Berichte und sendet sie per E-Mail an die Stakeholder. Inorder zum Erstellen und Schreiben von Daten zu übertreffen, ich bin abhängig von Microsoft Interop Assemblies. Dieser Job läuft jetzt gut auf lokale (Entwicklungsfeld) .Aber wenn seine zu einem Remote-Anwendungsserver bereitgestellt, wirft es eine Ausnahme wie folgt:Fehler "8000401a" während C# Excel-Generation

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 8000401a The server process could not be started because the configured identity is incorrect. Check the username and password. (Exception from HRESULT: 0x8000401A).

Beobachtung: Wenn ich auf dem Remote-Server anmelden (Deployment Server) Zur Zeit der Excel-Generierung wird das Excel erfolgreich gesendet. Problem tritt auf, wenn ich mich vom Remote-Anwendungsserver abmelde. Ich habe nach einer Lösung gesucht, aber nichts hat geklappt. Vorwegnehmen für eine Richtung. Danke im Voraus.

+0

Erfolgt die Generierung in einem separaten Windows-Dienst? –

+0

Der Generierungscode befindet sich in der MVC-Anwendung. Es ist eine separate C# -Klasse innerhalb des Projekts. Ich benutze Quartz .NET für die Planung (DLLs, die auch den gleichen Job wie ein Windows-Dienst). Diese DLLs werden auch zum Projekt hinzugefügt. Und beim Start des Ereignisses startet der Scheduler und ruft den C# -Code (Job) zur geplanten Zeit auf. –

Antwort

0

Sie können dies versuchen:

  • die Planung extrahieren und den Code, der die Excel-Dateien in einem separaten Windows-Dienst generiert.
  • Melden Sie sich mit Local System am neuen Service an.

Auf diese Weise sollte der Dienst funktionieren, ob ein Benutzer angemeldet ist oder nicht. Stellen Sie sicher, dass Sie dem Ordner, in dem die Excel-Dateien generiert werden, Berechtigungen erteilen.

+0

Ich verstehe den Punkt, aber gibt es eine Möglichkeit, dies zu erreichen, ohne den Code heraus zu extrahieren. –

Verwandte Themen