He creado un pequeño ejemplo donde cargué un ensamblado en un nuevo dominio de aplicación sin ningún permiso. Esto funciona bien, el ensamblaje no puede acceder al sistema de archivos y no puede escuchar los enchufes.Impedir la creación de subprocesos en AppDomain
Pero hay otra cosa que quiero evitar: Creación de subprocesos. ¿Por qué? Causa teóricamente que este conjunto puede crear un hilo que crea aún más hilos e inunde mi memoria.
Pensé en la (en mi opinión) mejor manera: Limitar la memoria de un Dominio de aplicación. es posible? Y si no, ¿qué puedo hacer para evitar la creación de subprocesos?
utilizado este código para crear el hilo
Thread t = new Thread(this.DoWork);
t.Start();
Y este código para el dominio de aplicación
PermissionSet set = new PermissionSet(PermissionState.None);
set.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
set.AddPermission(new FileIOPermission(FileIOPermissionAccess.Read |
FileIOPermissionAccess.PathDiscovery,
this.path));
AppDomainSetup info = new AppDomainSetup { ApplicationBase = this.path };
this.domain = AppDomain.CreateDomain("Sandbox", null, info, set, null);
(Ok, me dio el acceso al sistema de archivos en la carpeta donde desea cargar el montaje, esto es sólo porque StrongName fullTrustAssembly = typeof(SecureInstance).Assembly.Evidence.GetHostEvidence<StrongName>();
no funcionan para mí tampoco
esperanza s/o puede ayudar. (:.
No hay forma de que pueda hacer esto AFAIK :) Lo único que puede hacer es establecer el límite de subprocesos en un grupo de subprocesos – Elastep
AFAIK cada AppDomain necesita crear al menos un subproceso; de lo contrario, no se puede ejecutar ... así que deshabilitar la creación de subprocesos significaría que no se puede ejecutar en absoluto en mi humilde opinión. Qué estás intentando lograr ? – Yahia
@Elastep Gracias por su respuesta, pero ¿esto es seguro? Creo que es posible extender el límite de hilo en cualquier pieza de software. Todo esto le da a Java una gran ventaja. En Java, se le pide al SecurityManager antes de la creación del hilo. –