قفل ملف للكتابة من Windows Service
-
27-09-2019 - |
سؤال
أرغب في قفل ملف للكتابة من خدمة Windows ، لكن حتى الآن لا تعمل محاولاتي للحصول على قفل. نفس الرمز يعمل من تطبيق وحدة التحكم ، على الرغم من.
من ما قرأته ، هذا بسبب قفل انتهازي لم يتم تمكينه لخدمتي.
كيف يمكنني منع كتابته من خلال قفله من خدمة دون اللجوء إلى اختراقات التسجيل؟
رمز للقفل:
FileStream lockStream = new FileStream(path, FileMode.Open, FileAccess.Read);
رمز لفتح:
lockStream.Close();
lockStream.Dispose();
المحلول
using (fs = new FileStream("somefile.txt", FileMode.Open, FileAccess.Read, FileShare.None))
{ }
هل استخدمت وضع fileshare عند فتح الملف للقراءة أو الكتابة؟
نصائح أخرى
إستخدم Mutex العالمي كونك حريصًا جدًا على إطلاقه (أخيرًا وما إلى ذلك)
لا تنتمي إلى StackOverflow