Ho appena letto il seguente nella specifica CLI per quanto riguarda SecurityExceptions su chiamate di metodo:Quando il CLR .NET calcola gli attributi di sicurezza?
Il controllo di sicurezza può verificarsi quando il CIL viene convertito in codice nativo, piuttosto che in fase di esecuzione.
Come gestisce l'implementazione di Microsoft?
Se, ad esempio, solo un certo gruppo di utenti è autorizzato ad accedere ad alcune classi, e ho inserito un attributo di sicurezza per il controllo di questo gruppo.
Se l'utente esegue l'applicazione, viene jitted e probabilmente i controlli di sicurezza vengono eseguiti in quel momento e non in fase di esecuzione.
In tal caso, il jitter memorizza nella cache l'immagine nativa in modo che possa creare problemi se si modifica il gruppo dell'utente in un secondo momento (ovvero l'immagine nativa memorizzata nella cache non riflette le autorizzazioni aggiornate)? Oppure viene eseguito ogni volta che viene eseguito, a meno che non preveda la preinstallazione dell'immagine nativa? Non sono ancora abbastanza sicuro di come la cache dell'immagine nativa funzioni esattamente.
Bella domanda! Starò a guardare per le risposte. :-) –