2008-11-25 5 views
7

Ich habe einige große Xslt crashing iis (StackOverflowException) beim Laden einer XslCompiledTransform, während die alte (veraltet) XslTransform funktioniert gut. Gibt es ein bekanntes Problem mit großen Vorlagen? Seltsamerweise wird das gleiche XslCompiledTransform in einer Win32-Anwendung erfolgreich geladen.StackOverflowException lädt XsltCompiledTransform

Antwort

5

Ahh, Sie wissen, das Problem hier ist mehr wegen IIS (ich nehme an, dass es eine Web-App ist, wie Sie es in einer Win-App auch versuchen).

IIS (ab Win2003) 'dummerweise' reserviert nur ein Viertel des normalen Stapelspeichers, der anderen Programmen zugewiesen wird. Dies ist nur 256 KB im Vergleich zu 1 MB.

Um dieses Problem zu umgehen, können Sie diese Operation in einem Thread ausführen. Im Konstruktor des Threads können Sie eine neue Stapelreservierungsgröße angeben. Versuchen Sie, die Anzahl zu erhöhen, bis es funktioniert, ohne über die Spitze zu gehen.

+0

vielen Dank, es funktioniert in einem separaten Thread mit benutzerdefinierten Stack-Größe – user40577

+0

Cool, froh zu helfen, dieses Bit mich auch nicht zu lange her, und es war seltsam! – leppie

+1

Awesome, löste mein Problem auch vollständig. Ich wünschte, ich könnte diese paar Stunden meines Lebens wieder haben! –