2008-11-25 14 views
7

tengo un xslt que se bloquea iis (StackOverflowException) al cargar un XslCompiledTransform mientras que el anterior (obsoleto) XslTransform funciona bien. ¿Existe algún problema conocido con las plantillas grandes? Por extraño que parezca, el mismo XslCompiledTransform se carga con éxito en una aplicación win32.StackOverflowException cargando XsltCompiledTransform

Respuesta

5

Ahh, usted sabe que el problema aquí es más debido a IIS (supongo que es una aplicación web ya que también la está probando en una aplicación Win).

IIS (desde Win2003 en adelante) 'estúpidamente' solo reserva un cuarto del espacio de pila normal otorgado a otros programas. Esto es solo 256 KB, en comparación con 1 MB.

Para solucionar este problema, puede ejecutar esta operación en un subproceso. En el constructor del subproceso, puede especificar un nuevo tamaño de reserva de pila. Intenta aumentar el número hasta que funcione, sin exagerar.

+0

muchas gracias, funciona en un hilo separado con un tamaño de pila personalizado – user40577

+0

Genial, me alegro de ayudar, esto me mordió no hace mucho tiempo, ¡y fue EXTRAÑO! – leppie

+1

Increíble, resolvió totalmente mi problema también. ¡Ojalá pudiera recuperar esas pocas horas de mi vida! –