IStackWalk.Assert Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menegaskan bahwa kode panggilan dapat mengakses sumber daya yang diidentifikasi oleh objek izin saat ini, bahkan jika penelepon yang lebih tinggi di tumpukan belum diberi izin untuk mengakses sumber daya.
public:
void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()
Pengecualian
Kode panggilan tidak memiliki Assertion.
Keterangan
Assert Panggilan menghentikan pemeriksaan izin pada penelepon yang lebih tinggi di tumpukan panggilan. Oleh karena itu, bahkan jika penelepon ini tidak memiliki izin yang diperlukan, mereka masih dapat mengakses sumber daya. Pernyataan hanya berlaku jika kode yang memanggil Assert melewati pemeriksaan keamanan untuk izin yang dinyatakan.
Panggilan ke Assert efektif sampai kode panggilan kembali ke pemanggilnya atau sampai panggilan berikutnya untuk Assert membuat pernyataan sebelumnya tidak efektif. Selain itu, RevertAssert atau RevertAll menghapus yang tertunda Assert.
Assert diabaikan untuk izin yang tidak diberikan karena permintaan izin tersebut tidak akan berhasil. Namun, jika kode yang lebih rendah pada tumpukan panggilan memanggil Demand izin tersebut, dilemparkan SecurityException ketika stack walk mencapai kode yang mencoba memanggil Assert. Ini terjadi karena kode yang disebut Assert belum diberikan izin, meskipun mencobanya Assert .
Perhatian
Karena panggilan Assert menghapus persyaratan bahwa semua kode dalam rantai panggilan harus diberikan izin untuk mengakses sumber daya yang ditentukan, itu dapat membuka kerentanan keamanan jika digunakan dengan tidak benar atau tidak tepat. Oleh karena itu, itu harus digunakan dengan sangat hati-hati.