Friday, March 25, 2005

Indispensables: Service Packs para Compact Framework

Si estan desarrollando aplicaciones con SQL Server CE 2.0 y Compact Framework es indispensable que instalen los service pack a los dispositivos.

El caso: Una aplicación usa, en determinado assembly, un SqlCeConnection que mantiene abierta durante una serie de procesos mas o menos largos. Cuando termina, cierra la conexión (y un XmlTextReader que usa para actualizar los datos en SQL CE), y le devuelve el control al EXE. Cuando este último quiere acceder a la BD, arroja una excepción por tener el archivo abierto. No importa si haces un dispose de los objetos e incluso llamar al GC.Collect(). Tras mucho debuggear, observando incluso como el SqlCeConnection.State == ConnectionState.Closed, instalé el SP3 del Compact Framework y mágicamente la conexión ahora si se cierra y el EXE puede abrir una nueva conexión y seguir con su chamba.

Por cierto que las aplicaciones corren mucho más rápido desde el SP1 y generan menos memory leaks (estas fallas del CF me han sido confirmadas por gente de Microsoft).

0 Comments:

Post a Comment

<< Home