Sprawdzenie flagi zapisu

0

Jetem początkujacym w c# i mam pytanie jak sprawdzic czy jest ustawiona flaga zapisu do pliku xml. Sutyacja jest nastepujaca aplikacja sklada sie z dwoch programow ktore moga zapisywac i oczywtywac z jednego pliku xml flage ustawiam za pomoca FileStream ale jak sprawdzić czy ktos w danej chwili nie ustawił flagi zapisu ??
Dzieki za odpowiedź

0

Odpowiedz na pytanie nie znam, ale mogę zaproponować inne podejście: Mutex (nazwany), który będzie obsługiwany przez oba programy (przy założeniu, że oba programy działają na tym samym komputerze).

Odpalasz to w momencie zapisu/odczytu danych - w przypadku synchronizacji, mutex zapewni ochronę czasową pliku.

0

Jeśli spróbujesz otworzyć plik już otwarty z flagą zapisu to dostaniesz wyjątek, ale to ci nic nie da bo i tak pewnie będziesz chciał poczekać aż plik będzie dostępny więc w tej sytuacji tak jak Deti sugeruje - muteks.

0

muteks? A jak można założyć muteks na 2 całkowicie różne programy? Prawdę mówiąc nigdy o tym nie słyszałem, a ostatnio szukam sposobu komunikacji między aplikacjami alternatywnego do systemu remoting z użyciem localhost.

0

Mutex nie służy raczej do "komunikacji' między dwoma programami - ale może pomóc w tym, co chcesz osiągnąć (tak - między dwoma programami).

Gdy mutex będzie manualnie nazwany, działa na wszystkich procesach, a więc - pomiędzy programami.

Tutaj więcej:

http://msdn.microsoft.com/en-us/library/system.threading.mutex.aspx
http://www.albahari.com/threading/part2.aspx#_Wait_Handles

0

acha, a już myślałem, że ktoś znalazł sposób odwołania się do wspólnego obiektu muteksa z kilku programów.

0

acha, a już myślałem, że ktoś znalazł sposób odwołania się do wspólnego obiektu muteksa z kilku programów.

hmm, ale on jest wspólny !

0

"Muteks nazwany" to to czego potrzebujesz. Taki muteks ma swoją nazwę i po ten nazwie można go odnaleźć przez dowolny program. Będziesz musiał sobie wymyślić jakąś unikatową nazwę dla tego muteksa. Żeby była unikatowa zazwyczaj w nazwie używa się nazwy programu + jego wersja + do czego służy muteks + coś tam jeszcze w miarę losowego.

sposób odwołania się do wspólnego obiektu muteksa z kilku programów
Ten sposób to po prostu utworzenie obiektu muteksa podając jego nazwę i już.

1 użytkowników online, w tym zalogowanych: 0, gości: 1