SORU
18 Mayıs 2009, PAZARTESİ


Bir şekilde eğer bir dosyanın kullanımda olup olmadığını kontrol etmek için var mı?

C bir program yazıyorum# defalarca 1 Resim dosyasına erişmek için ihtiyacı var. Çoğu zaman çalışır, ama eğer Bilgisayarım hızlı koşuyor, dosya sistemi geri kaydedilir ve bir hata atma olmadan dosyaya erişmek için çalışacağız:"Başka bir işlem tarafından kullanılan dosya".

Bu etrafında bir yol bulmak istiyorum, ama benim Googling tek özel durum işleme kullanarak kontrolleri oluşturma vermiştir. Bu ise kimsenin bunu yapmanın daha iyi bir yolu olup olmadığını merak ediyordum yani benim dine karşı?

CEVAP
18 Mayıs 2009, PAZARTESİ


Bu bir güvenlik açığı olarak belgelenmiş örnekler var ki bu konu, bir yarış durumu muzdarip olabilir. Dosya kullanılabilir olduğunu kontrol edin, ama denemek ve kullanmak eğer kötü niyetli bir kullanıcı kuvvet ve kodunuzu faydalanmak için kullanabilirsiniz bu noktada atabilirsiniz.

En iyi bahis dosyayı ele almaya çalışan bir try catch / finally.

try
{
   using (Stream stream = new FileStream("MyFilename.txt", FileMode.Open))
   {
        // File/Stream manipulating code here
   }
} catch {
  //check here why it failed and ask user to retry if the file is in use.
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Candyrat Records

    Candyrat Rec

    10 Mayıs 2006
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • majesticdubstep

    majesticdubs

    3 Kasım 2011