2011-01-11 17 views

Respuesta

3

GetMethods y Activator.CreateInstance debe permitirse IIRC, mientras AssemblyName y Assembly.Version no lo son. He usado los primeros dos métodos en entornos de confianza media y los últimos dos no funcionaron. La mejor manera es simplemente a través de prueba y error realmente. También puede ayudar el uso de Reflector cuando se bloquea, para averiguar por qué cosas no están permitidas (normalmente [PrincipalPermission (SecurityAction.Demand, AspNetHostingPermission.High/Full)] atributo en una clase en algún lugar más arriba de la pila de llamadas) .

HTH,

Benjamin

+0

Creo que es muy frustrante que no seamos capaces de saber qué métodos están disponibles y cuáles no. – abcplex

3

herramientas como permview (.NET 1.1 solamente) o permcalc (.NET 2.0) puede ayudar a informarle sobre el permiso de seguridad exige su asamblea o asambleas requerirá; es un poco más fácil que hacer un análisis de bases de prueba y error porque puede olvidarse de ejercitar manualmente una ruta de código que intenta hacer una demanda relacionada con la seguridad.

Desafortunadamente, la documentación de MSDN no enumera explícitamente los requisitos de seguridad de cada método o llamada de propiedad.

Cuestiones relacionadas