Launch ca1713:
TypeName |
RemoveCallsToGCKeepAlive |
CheckId |
ca2004 |
Category |
Microsoft.وثوقية |
تعطيل تغيير |
غير فاصلة |
السبب
فئات استخدام SafeHandleولكن لا يزال يحتوي على المكالمات إلى GC.KeepAlive.
وصف القاعدة
في حالة التحويل إلى SafeHandleالاستخدام، إزالة الجميع المكالمات إلى GC.KeepAlive (كائن). في هذه الحالة، لا يجب أن تتضمن الفئات إلى يتصل GC.KeepAlive، افتراض أن لم يكن أداة الإنهاء لكن تعتمد تشغيل SafeHandleلإنهاء معالج نظام التشغيل الخاصة بها. على الرغم من تكلفة ترك استدعاء ل GC.KeepAliveقد يكون طفيف من حيث الأداء، الإدراك التي استدعاء GC.KeepAliveضرورية أو كافية لحل المشكلة التي ربما لم تعد موجودة يجعل التعليمة البرمجية الصعب المحافظة على عمر.
كيف إلى الإصلاح انتهاكات
قم بإزالة الاستدعاءات إلى GC.KeepAlive.
عند إلى منع التحذيرات
يمكنك إيقاف th هو تحذير فقط إذا أنه هو غير الصحيحة فنيا للتحويل إلى SafeHandleالاستخدام في فئة. الخاص بك