Jakiś czas temu napisałem aplikację używaną przez wielu użytkowników do obsługi tworzenia transakcji. Nie zajmowałem się programowaniem od jakiegoś czasu i nie pamiętam, jak zarządzałem współbieżnością między użytkownikami. W związku z tym szukam porady w zakresie projektowania.Jaki jest najlepszy sposób zarządzania współbieżnością w aplikacji dostępu do bazy danych?
Oryginalna aplikacja miała następujące cechy:
- jeden ciężki klienta na użytkownika.
- Jedna baza danych.
- Dostęp do bazy danych dla każdego użytkownika do wstawiania/aktualizacji/usuwania transakcji.
- Siatka w aplikacji odzwierciedla tabelę transakcji. Ta siatka jest aktualizowana za każdym razem, gdy ktoś zmieni umowę.
- Używam WPF.
Oto co zastanawiam:
Czy mam rację sądząc, że nie powinien dbać o połączenia do bazy danych dla każdej aplikacji? Biorąc pod uwagę, że jest singleton w każdym, oczekiwałbym jednego połączenia na klienta bez problemu.
Jak mogę zapobiec współbieżności dostępu? Myślę, że powinienem zablokować podczas modyfikowania danych, jednak nie pamiętam, jak to zrobić.
Jak skonfigurować siatkę do automatycznego aktualizowania po każdej aktualizacji mojej bazy danych (na przykład przez innego użytkownika)?
Z góry dziękujemy za pomoc!
Co rodzaj bazy danych? –
Co używasz jako interfejsu użytkownika? ASP.NET? WinForms? WPF? Silverlight? – Jeff
Używam WPF. Dodałem go w opisie. dzięki – Goul