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

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • kindlechatmail

    kindlechatma

    25 AĞUSTOS 2010
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010