¿Cuál es el propósito de la siguiente pieza de código ?:Asamblea Evidencia
object[] hostEvidence = {new Zone(SecurityZone.Internet)};
Evidence internetEvidence = new Evidence(hostEvidence, null);
AppDomain myDomain = AppDomain.CreateDomain("MyDomain");
myDomain.ExecuteAssembly("SecondAssembly.exe", internetEvidence);
Por lo que yo sé el CLR automáticamente (Se pide de Windows para ello) asigna la Zona dependiendo de donde el conjunto se encuentra ejecutar desde (máquina local, ect de internet ...). Supongo que fue para disminuir los permisos para el ensamblado, pero cuando tenemos dos evidencias, también tenemos dos grupos de códigos que son sumados a dentro de un nivel de política determinado.
Saludos cordiales PK
El CLR no asigna zonas automáticamente como tales, sino que las asume en función de la ubicación del archivo y la política de seguridad predeterminada. Es decir. si ejecuta un archivo en mi máquina local, se supone que es totalmente confiable, etc. – BinaryMisfit
No asigna, pero le pide a Windows información de la Zona. – pkolodziej
Aquí está el artículo sobre cómo CLR obtiene la evidencia de la zona para el ensamblaje: http://blogs.msdn.com/shawnfa/archive/2006/05/12/596419.aspx – pkolodziej