Escribir código seguro comprobable

El código seguro de tipos es código que sólo obtiene acceso a tipos siguiendo métodos permitidos y perfectamente definidos. Por ejemplo, dada una referencia a objeto válida, el código seguro de tipos puede obtener acceso a la memoria en desplazamientos fijos que se correspondan con miembros de campo reales. Sin embargo, si el código obtiene acceso a la memoria en desplazamientos arbitrarios que se encuentran fuera del intervalo de memoria que pertenece a los campos públicamente expuestos de ese objeto, no tiene seguridad de tipos.

La compilación Just-In-Time (JIT) ejecuta un proceso denominado comprobación que examina el código e intenta determinar si tiene seguridad de tipos. Si se demuestra durante la comprobación que el código tiene seguridad de tipos, se denominará código seguro de tipos comprobable. El código puede tener seguridad de tipos pero no ser comprobable debido a las limitaciones del proceso de comprobación o del compilador. No todos los lenguajes tienen seguridad de tipos y algunos compiladores de lenguaje, como Microsoft Visual C++, no pueden generar código administrado seguro de tipos comprobable. Para determinar si el compilador de lenguaje que utiliza genera código seguro de tipos comprobable, consulte la documentación del compilador. Si usa un compilador de lenguaje que genera código con seguridad de tipos comprobable solo cuando se evitan determinadas construcciones del lenguaje, podrá utilizar la herramienta PEVerify de Kit de desarrollo de software de Windows (SDK) para determinar si el código tiene seguridad de tipos comprobable.

El código que no tiene seguridad de tipos comprobable puede intentar ejecutarse si la directiva de seguridad permite que el código evite la comprobación. Sin embargo, dado que la seguridad de tipos es una parte esencial del mecanismo del motor en tiempo de ejecución para aislar los ensamblados, la seguridad no se puede imponer de manera confiable si el código infringe las reglas de la seguridad de tipos. De manera predeterminada, el código que no tiene seguridad de tipos se puede ejecutar únicamente si procede del equipo local. Por tanto, el código móvil debe tener seguridad de tipos.

Vea también

Referencia

Peverify.exe (Herramienta PEVerify)

Conceptos

Seguridad de acceso del código

Conceptos básicos sobre la seguridad de acceso a código

Proceso de ejecución administrada