MethodBase.IsSecurityCritical Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si el método o el constructor actual es crítico para la seguridad o es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual y, por tanto, puede realizar operaciones críticas.
public:
virtual property bool IsSecurityCritical { bool get(); };
public virtual bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overridable ReadOnly Property IsSecurityCritical As Boolean
Valor de propiedad
true
si el método o el constructor actual es crítico para la seguridad o crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual; false
si es transparente.
Comentarios
Las IsSecurityCriticalpropiedades , IsSecuritySafeCriticaly IsSecurityTransparent notifican el nivel de transparencia del método o constructor en su nivel de confianza actual, según lo determinado por Common Language Runtime (CLR). Las combinaciones de estas propiedades se muestran en la tabla siguiente:
Nivel de seguridad | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Crítico | true |
false |
false |
Crítico para la seguridad | true |
true |
false |
Transparente | false |
false |
true |
El uso de estas propiedades es mucho más sencillo que examinar las anotaciones de seguridad de un ensamblado y sus tipos y miembros, comprobar el nivel de confianza actual e intentar duplicar las reglas del entorno de ejecución.
Importante
Para los ensamblados de confianza parcial, el valor de esta propiedad depende del nivel de confianza actual del ensamblado. Si el ensamblado se carga en un dominio de aplicación de confianza parcial (por ejemplo, en un dominio de aplicación de espacio aislado), el tiempo de ejecución omite las anotaciones de seguridad del ensamblado. El ensamblado y todos sus tipos se tratan como transparentes. El tiempo de ejecución presta atención a las anotaciones de seguridad de un ensamblado de confianza parcial solo cuando ese ensamblado se carga en un dominio de aplicación de plena confianza (por ejemplo, en el dominio de aplicación predeterminado de una aplicación de escritorio). Por el contrario, un ensamblado de confianza (es decir, un ensamblado con nombre seguro instalado en la caché global de ensamblados) siempre se carga con plena confianza, independientemente del nivel de confianza del dominio de aplicación, por lo que su nivel de confianza actual siempre es de plena confianza. Puede determinar los niveles de confianza actuales de ensamblados y dominios de aplicación mediante las Assembly.IsFullyTrusted propiedades y AppDomain.IsFullyTrusted .
Para obtener más información sobre la reflexión y la transparencia, vea Consideraciones de seguridad para la reflexión. Para obtener información sobre la transparencia, consulte Cambios de seguridad.