2010-12-09 17 views
7

Tengo una aplicación WPF (.NET 3.5) que generalmente se ejecuta en las máquinas XP de nuestro cliente. En los últimos 5 meses, ha habido tres ocasiones en las que una memoria caché de fuentes dañada hace que la aplicación deje de responder con la carga.WPF: Manejo de Caché de Fuente Corrompida

Eliminar el caché de fuente por these instrucciones resuelve el problema inmediato.

Sin embargo, me gustaría encontrar una forma de evitar la corrupción (la mayoría de lo que he leído sugiere que tiene que ver con los controladores de video actualizados sin reiniciar después) o tener mi aplicación manejar un caché de fuentes corrupto de manera elegante (cerrar con un mensaje de error para el usuario, en lugar de sentarse en el estado de "No responde" de forma aparentemente indefinida), o hacer que mi aplicación no use el caché de fuentes en absoluto.

Estoy abierto a otras opciones, por supuesto, esas son las tres primeras que se me ocurrieron.

+0

¿Ha confirmado este problema existe con .NET Framework 4.0? Esta es una máquina cliente, ¿qué tipo de control tiene el cliente sobre su máquina? Supongo que un simple reinicio no resuelve el problema, ¿o no es una solución viable? –

+0

¿Esta aplicación proporciona algún tipo de editor de texto, donde podría permitir que el usuario elija una fuente, encontré que Expression Web 3 tiene un problema similar con una fuente dañada. ¿Tiene su cliente alguna fuente personalizada instalada? –

+0

Un simple reinicio no resuelve el problema. Dado que es esporádica, no estoy seguro de cómo probar con .NET 4.0. ¿Ve si todos los usuarios pueden actualizar, actualizar la aplicación y esperar que no vuelva a suceder? – hilary

Respuesta

2

No puedo proporcionar una solución, pero esto parece ser un error subyacente de windows/wpf. Hemos tenido el mismo problema en nuestro producto, que es un sistema cerrado de Windows Embedded. Nunca se instala o ejecuta ningún software, excepto el nuestro, no se cambian los controladores después de la instalación inicial, etc. pero ocurre. Nuestra solución actual es eliminar siempre la memoria caché al apagar. No es genial, pero funciona para nosotros.

(Lo sentimos, este no es una respuesta un comentario, no tengo la reputación necesaria)

+0

Wow, gracias por la entrada. Siempre feliz de saber que no estoy sufriendo un poco de loco por computadora solo. – hilary

0

también me hizo llegar aplicación se bloquea cuando se utiliza fuentes que WPF no podría hacer. Y, por supuesto, eliminar las fuentes del sistema no era una opción para mí.

La solución que funcionó para mí: SystemFontFamilies error when binding to combobox

Cuestiones relacionadas