Bunun nasıl yapılacağını anladığım kadar uzun bir zaman harcadım, ancak herhangi bir yararlı çözüm bulamadı.Diğer uygulamalar için bir dosyayı manuel olarak kilitleme
İşte yapmak istediklerim budur. Uygulamamda büyük bir ikili dosya oluşturuyorum. Zor olan şey, sürecin ara sıra FileStream'i kapatmamı gerektirmesi. Şimdi sorun şu ki, bazen diğer uygulamalar (yani virüs tarayıcım) dosyanın kilitlenmediği bu kısa anı kullanıyor, dosyayı kilitlemek için. veya dropbox gibi diğer uygulamalar ...
Sonuç olarak, bir dahaki sefere dosya akışını açmam gerekiyor, başka bir işlem tarafından kilitlendiğini söylüyor. Tüm bunlar sadece çok nadiren olur, ancak gerçekleştiğinde hala can sıkıcıdır. Ve yine de dosyaya erişebiliyor olsam bile, bu dosyayı yüklemeden önce (yani birkaç dakika sürebilir) dropbox istemiyorum.
İhtiyacım olan şey, bir dosyayı el ile kilitleme olanağıdır, böylece uygulamam bu dosyada hala dosya akışını açabilir, ancak el ile yeniden açana kadar başka bir uygulama yapılamaz.
File.Lock(filepath);
//... do something that opens and closes filestreams on this file
File.Unlock(filepath);
bunu yapmanın bir yolu var mı:
ben pseudocode böyle bir şey hayal? "Dosya akışını açık tut" çözümü geçerli değil. Ben açıkça bundan kaçınmaya çalışıyorum, lütfen bunu aklınızda bulundurun.
Daha açık olmak üzere kodunuzu düzenlenmiş neyi bekliyorsun. –
Tek kelimeyle: "IsolatedStorageFile" – avishayp
Bir RO dosyasına değiştirebilir ve daha sonra düzenlemek için tekrar RW olarak değiştirebilir misiniz? – Paparazzi