Nyelv

DynamicMethod.IsSecurityTransparent Tulajdonság

Definíció

Olyan értéket kap, amely jelzi, hogy az aktuális dinamikus módszer transzparens-e az aktuális megbízhatósági szinten, ezért nem hajthat végre kritikus műveleteket.

public:
 virtual property bool IsSecurityTransparent { bool get(); };
public override bool IsSecurityTransparent { get; }
member this.IsSecurityTransparent : bool
Public Overrides ReadOnly Property IsSecurityTransparent As Boolean

Tulajdonság értéke

trueha a dinamikus módszer a jelenlegi megbízhatósági szinten biztonsági transzparens; egyéb esetben. false

Kivételek

A dinamikus metódusnak nincs metódustörzse.

Megjegyzések

A IsSecurityCritical, IsSecuritySafeCriticalés IsSecurityTransparent tulajdonságok a közös nyelvi futtatókörnyezet (CLR) által meghatározott dinamikus metódus áttetszőségi szintjét jelentik. Ezeknek a tulajdonságoknak a kombinációi a következő táblázatban láthatók:

Biztonsági szint IsSecurityCritical IsSecuritySafeCritical IsBiztonságiÁtlátható
Létfontosságú true false false
Biztonsági szempontból kritikus true true false
Transparent false false true

Ezeknek a tulajdonságoknak a használata sokkal egyszerűbb, mint egy szerelvény biztonsági széljegyzeteinek és típusainak vizsgálata, az aktuális megbízhatósági szint ellenőrzése és a futtatókörnyezet szabályainak duplikálása.

A dinamikus metódusok átlátszósága attól függ, hogy melyik modulhoz van társítva. Ha a dinamikus metódus nem modulhoz, hanem típushoz van társítva, az átlátszósága a típust tartalmazó modultól függ. A dinamikus metódusok nem rendelkeznek biztonsági megjegyzésekkel, ezért a társított modul alapértelmezett áttetszőségéhez vannak rendelve.

  • A névtelenül üzemeltetett dinamikus metódusok mindig transzparensek, mivel az őket tartalmazó rendszer által biztosított modul transzparens.

  • A megbízható szerelvényhez (azaz a globális szerelvénygyorsítótárba telepített erős nevű szerelvényhez) társított dinamikus módszer átláthatóságát az alábbi táblázat ismerteti.

    Szerelvény széljegyzete 1. szint átlátszósága 2-es szintű átlátszóság
    Teljesen transzparens Transparent Transparent
    Teljesen kritikus Létfontosságú Létfontosságú
    Vegyes átlátszóság Transparent Transparent
    Security-agnostic Biztonságkritikus Létfontosságú

    Ha például egy dinamikus metódust egy mscorlib.dlltípusúhoz társít, amely 2. szintű vegyes átlátszósággal rendelkezik, a dinamikus metódus transzparens, és nem tudja végrehajtani a kritikus kódot. Az átláthatósági szintekről további információért lásd: Security-Transparent Code, Level 1 és Security-Transparent Code, Level 2.

    Note

    Ha egy dinamikus metódust egy olyan megbízható 1. szintű szerelvény moduljával társít, amely biztonsági agnosztikus, például System.dll, nem teszi lehetővé a megbízhatósági szint emelését. Ha a dinamikus metódust meghívó kód engedélyezési halmaza nem tartalmazza a System.dll (vagyis teljes megbízhatóság) SecurityException támogatási készletét, a rendszer a dinamikus metódus meghívásakor aktiválódik.

  • A részben megbízható szerelvényhez társított dinamikus metódus átlátszósága a szerelvény betöltésétől függ. Ha a szerelvény részleges megbízhatósággal van betöltve (például egy tesztkörnyezeti alkalmazástartományba), a futtatókörnyezet figyelmen kívül hagyja a szerelvény biztonsági megjegyzéseit. A szerelvényt és annak minden típusát és tagját, beleértve a dinamikus módszereket is, transzparensnek tekintjük. A futtatókörnyezet csak akkor figyel a biztonsági annotációkra, ha a részleges megbízhatóságú szerelvény teljes megbízhatósággal van betöltve (például egy asztali alkalmazás alapértelmezett alkalmazástartományába). Ebben az esetben a futtatókörnyezet a dinamikus metódust rendeli hozzá a metódusok alapértelmezett átlátszóságához a szerelvény széljegyzetei alapján.

A tükröződés kibocsátásáról és az átláthatóságról további információt a Tükröződés kibocsátás biztonsági problémái című témakörben talál. Az átláthatóságról további információt a biztonsági módosítások című témakörben talál.

A következőre érvényes:

Lásd még