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

  • mliskIT

    mliskIT

    29 Mart 2012
  • natescamp

    natescamp

    30 NİSAN 2009
  • PremiumBeat.com - Royalty Free Music

    PremiumBeat.

    16 Kasım 2008