waitforexit visual studio start example ejemplos c# winforms process

visual - system.diagnostics.process c# example



PestaƱas en su propio proceso con C#y WinForms (2)

Eso no parece una buena idea. Los controles comunes de winforms en su mayoría no son seguros para subprocesos, y dar a cada control su propio proceso parece asqueroso.

Si quieres probar esto, quizás le des a cada formulario su propio proceso, o incluso solo su propio hilo. O tal vez si tiene un control de pestañas, simplemente dele a cada pestaña su propio hilo.

Actualizar
.Net proporciona algo llamado AppDomain que puede usar. Es más que un hilo, pero menos que un proceso. Si tiene una página con múltiples pestañas, puede crear un control personalizado que contenga los contenidos para cada página de pestañas y poner cada control personalizado en su propio ensamblaje. Entonces esos ensamblados se pueden cargar dinámicamente en sus propios AppDomains. Desde allí, debería poder crear una instancia del control que desee. Sin embargo, existen ciertas reglas sobre cómo hablar entre aplicaciones, por lo que no sé si podrá agregar ese control a una página de pestañas en su formulario.

Posible duplicado
Aplicación Windows Forms como Google Chrome con múltiples procesos
Diseño multiproceso de Chrome / IE8, ¿es posible en .NET?
Ejemplo de aplicación C # multiproceso como Google Chrome

Tanto IE8 como el navegador Google Chrome tienen procesos separados para cada pestaña que se abre .

Por ejemplo, si inicia IE8 y abre Yahoo y Google en sus propias pestañas, termina con 3 procesos ejecutándose en su sistema:

  • IE8 mismo proceso [proceso maestro]
    • Proceso de pestaña de Google
    • Proceso de pestaña de Yahoo

Estoy jugando con la idea de algo similar en C # / WinForms.

Tome un ejemplo simple: tengo un proceso maestro que muestra un formulario, y tengo un botón en un proceso secundario. ¿Cómo podemos renderizar el botón del otro proceso en mi formulario?


La razón por la cual Chrome le da a cada pestaña su propio proceso es sandboxing. Si una pestaña se comporta de forma incorrecta, es menos probable que elimine todo el navegador. ¿Hay alguna necesidad similar en tu aplicación?

Además, tenga en cuenta que las pestañas del navegador no necesitan compartir información. Lo que está en una pestaña está en una pestaña y ninguna otra pestaña necesita preocuparse por ello. ¿Tu aplicación de winforms está dividida de manera similar?