Laden...

WebApi, WebForms Powerpoint erstellen, out of memory Fehler

Erstellt von ZeroQool vor 9 Jahren Letzter Beitrag vor 9 Jahren 851 Views
Z
ZeroQool Themenstarter:in
322 Beiträge seit 2006
vor 9 Jahren
WebApi, WebForms Powerpoint erstellen, out of memory Fehler

Hallo zusammen,

leider komme ich hier nicht mehr weiter. Ich habe eine WebApi die mir über die Interop ein Powerpoint erstellt. Wenn ich die WebApi über den IIS Express laufen lasse wird mein PPT fehlerfrei generiert. Switche ich auf den lokalen IIS bekomme ich die Fehlermeldung: "System.OutOfMemoryException" und zwar beim öffnen (Größe: 58KB) eines bestehenden (nutze dies um eine Vorlage bzgl. CI Design). Wie gesagt der gleiche Aufruf funktioniert unter Express, aber im normalen IIS nicht.

 var ppPresens = ppApp.Presentations.Open(fileName, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);

Alternativ wäre es jetzt das ganze über OpenXML zu lösen, aber bevor ich alles umbauen muss und auch einarbeiten muss frage ich zuerst die Community.

Danke

16.842 Beiträge seit 2008
vor 9 Jahren

Der IIS Express läuft unter Deinem User. Der AppPool der Anwendung auf dem IIS normalerweise als NetworkService.
Dieser hat aber keine Rechte COM Interop zu nutzen.

Entweder Du gibst dem AppPool eine eigene Identität / nutzt Impersonation oder Du verwendest OpenXML, was generell die bessere Variante ist.
Hinzu kommt, dass Du - wahrscheinlich - den kompletten Interop-Zugriff synchronisieren musst. Evtl. ist auch x64 / x86 bzw. Classic / Pipeline-Mode ein Problem (beachte dazu auch die AppPool-Einstellung).

Zudem besagt OutOfMemoryException nicht nur, dass der RAM am Limit ist, sondern fasst viele Möglichkeiten zusammen -> "Die Ressourcen reichen für diese Operation nicht mehr aus"; zB keine freien Handles mehr etc.