Пиша C#.NET програма, която използва XmlSerializer за сериализиране и десериализиране на проекта, върху който работи текущият потребител, към и от XML файл. Това работи добре, но се опитвам да намеря начин да попреча на двама потребители да отворят един и същ файл от мрежово устройство и един потребител да презапише записа на предишния потребител. По същество искам поведението, което има MS Word, при което, ако програмата не може да получи достъп за запис на файл, когато той се отваря, тя отваря файла в режим само за четене.
И така, как да заключа достъпа до файл? Трябва ли просто да оставя обект на файлов поток отворен и да запазя препратка към него? Продължавам ли да използвам същия обект на файлов поток за всички междинни записвания, вместо да ги отварям и затварям за всяко записване? Или има някакъв друг начин да заключите достъпа до файл?
Освен това как да гарантирам, че файлът е освободен, дори ако приложението ми се срине? Това ще бъде ли добър случай за внедряване на IDisposable?