MSTEST0040: 'async void' bağlamlarında doğrulama yapma
Mülk | Değer |
---|---|
Kural Kimliği | MSTEST0040 |
Başlık | 'async void' bağlamlarında doğrulama yapmayın |
Kategori | Kullanım |
Düzeltmesi bozuk veya hataya neden olmayan | Bozulmayan |
Varsayılan olarak etkin | Evet |
varsayılan önem derecesi | Uyarı |
, sürümünde tanıtıldı. | 3.8.0 |
bir kod düzeltmesi var mı? | Hayır |
Neden
bir async void
yönteminde, yerel işlevde veya lambda'da herhangi bir onay yönteminin kullanılması.
Kural açıklaması
async void
bağlamında oluşan özel durumlar işlenmez. bir async void
yöntemindeki başarısız onaylama işlemi yutulacak ve .NET Framework altında VSTest kullanılırken işlem kilitlenmeyecektir. .NET altında, async void
yöntemindeki başarısız bir onay işlemi Microsoft.Testing.Platform veya VSTest kullanılırken işlemi kilitler. Özel durumu yakalayan bir özel SynchronizationContext
bulunduğu durumlarda, başarısız olan doğrulama sessizce yutulabilir.
İhlalleri düzeltme
async void
doğrulamalarını kullanmamak için kodu yeniden düzenlemek.
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuralın uyarısını bastırmayın.