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

  • HBO

    HBO

    17 Mayıs 2006
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009