El tamaño del código no es una métrica que debe usar para determinar si se debe trabajar en un subproceso diferente. La peor duración de ejecución del caso es.
En primer lugar, no hay muchos diseños de UI en los que desencadenar mucho trabajo en Form_Load sea realmente deseable. Si es posible, generalmente:
- Inicie ese trabajo antes de abrir el formulario directamente en respuesta a una acción del usuario.
- Mueva todo el trabajo a segundo plano y actualice de forma asincrónica (¿enlazar?) Los resultados al formulario.
- Retrasa el trabajo hasta que el usuario realice específicamente alguna acción que lo requiera.
Sus usuarios querrán/esperan que sus formularios sean extremadamente rápidos y receptivos, independientemente de la cantidad de trabajo que se realice. Ejecutar operaciones potencialmente de larga duración durante Form_Load siempre resultará en una mala experiencia del usuario.
BackgroundWorker es solo un mecanismo para realizar el trabajo de forma asincrónica, hay muchos otros. Debe elegir el que sea más apropiado para cada situación.
tu título dice winform pero mencionas page_load. ¿Esto es winforms o webforms? –
azúcar! lo siento. Form_load – RedPanda
No se utilizan suficientes expresiones alternativas de consternación. : P – Russell