¿Dispose lento para usuarios restringidos?

16/04/2007 - 20:08 por Francisco J. Rodríguez | Informe spam
Hola. A ver si soy capaz de exponer bien la duda.

Tengo un formulario "A" que llama a otro "B". Si el resultado de "B" es
correcto (concretamente, si el valor de una de sus propiedades es true), se
cierra "B" y se abre otro "C". El método de "A" sería más o menos así:

private void MostrarFormulario()
{
FormularioB f = new FormularioB();
f.ShowDialog();
if (f.ValorAdecuado = true)
{
f.Dispose();
FormularioC fc = new FormularioC();
fc.ShowDialog();
fc.Dispose();
}
else
{
f.Dispose();
}
}

El problema es el siguiente: Si ejecuto esto desde Visual Studio y como
Administrador del PC, perfecto. Pero hago el instalador de la aplicación, la
instalo, creo un usuario restringido nuevo (en Windows XP Profesional) y
cuando inicio sesión con ese usuario nuevo y ejecuto el programa, tarda casi
dos minutos desde que se inicia el Dispose del formulario "B" hasta que
comienza el InitializeComponent del formulario "C" (también tarda al iniciar
la aplicación, y tarda siempre, no sólo la primera vez). Esto lo sé por la
traza que guardo en un log.

¿Alguien me puede orientar sobre lo que puede estar ocurriendo? Ya he
probado a otorgarle permisos al usuario restringido, restablecer las
directivas de seguridad de NET..., pero sin éxito. El formulario "B" es
sencillo, sólo tiene un par de textbox y un par de botones. No entiendo por
qué se produce ese retraso entre el Dispose de "B" y el InitializeComponent
de "C". Intuyo que tal vez tenga algo que ver con la configuración de NET o
con permisos, pero no estoy seguro.

Gracias, un saludo.
Francisco J. Rodríguez
 

Preguntas similares