StackOverflowException loading XsltCompiledTransfo

2020-07-10 05:56发布

问题:

i have some big xslt crashing iis (StackOverflowException) when loading an XslCompiledTransform while the old (deprecated) XslTransform works fine. Is there some known issue with big templates? Strangely enough, the same XslCompiledTransform loads successfully in a win32 application.

回答1:

Ahh, you know the problem here is more due to IIS (I assume that it is a web app as you are trying it in a Win app too).

IIS (from Win2003 onwards) 'stupidly' only reserves a quarter of the normal stack space given to other programs. This is only 256KB, compared to 1MB.

To work around this issue, you can run this operation in a Thread. In the thread's constructor, you can specify a new stack reserve size. Try increasing the number till it works, without going over the top.