Một thời gian trước, tôi đã viết một ứng dụng được nhiều người dùng sử dụng để xử lý việc tạo giao dịch. Tôi chưa thực hiện phát triển một thời gian và tôi không thể nhớ cách tôi quản lý sự tương tranh giữa những người dùng. Vì vậy, tôi đang tìm kiếm một số lời khuyên về thiết kế.Cách tốt nhất để quản lý sự tương tranh trong một ứng dụng truy cập cơ sở dữ liệu là gì?
Các ứng dụng ban đầu có các đặc điểm sau:
- Một client nặng cho mỗi người dùng.
- Một cơ sở dữ liệu duy nhất.
- Truy cập cơ sở dữ liệu cho từng người dùng để chèn/cập nhật/xóa giao dịch.
- Lưới trong ứng dụng phản ánh bảng giao dịch. Lưới đó đang được cập nhật mỗi lần ai đó thay đổi giao dịch.
- Tôi đang sử dụng WPF.
Dưới đây là những gì tôi đang tự hỏi:
Tôi thích hợp trong suy nghĩ rằng tôi không nên quan tâm đến các kết nối cơ sở dữ liệu cho mỗi ứng dụng? Xem xét rằng có một singleton trong mỗi, tôi sẽ mong đợi một kết nối cho mỗi khách hàng không có vấn đề.
Tôi làm cách nào để ngăn chặn sự truy cập đồng thời của các truy cập? Tôi đoán tôi nên khóa khi sửa đổi dữ liệu, tuy nhiên không nhớ làm thế nào để.
Làm cách nào để thiết lập lưới để tự động cập nhật bất cứ khi nào cơ sở dữ liệu của tôi được cập nhật (bởi một người dùng khác chẳng hạn)?
Cảm ơn bạn đã trợ giúp!
gì loại cơ sở dữ liệu? –
Bạn đang sử dụng làm giao diện người dùng? ASP.NET? WinForms? WPF? Silverlight? – Jeff
Tôi đang sử dụng WPF. Tôi đã thêm nó vào phần mô tả. cảm ơn – Goul