Trong môi trường đa người dùng: Làm cách nào để đảm bảo rằng tất cả khách hàng đều nhìn thấy từng người thay đổi? Cách tốt nhất để làm việc này là gì?Kỹ thuật trong ứng dụng đa người dùng C# nơi tất cả khách hàng có dữ liệu cập nhật từ cơ sở dữ liệu trung tâm
Trong quá khứ tôi đã tạo một ứng dụng C# và cài đặt nó trên 2 máy tính. Nó kết nối với một máy chủ SQL Express trung tâm (ứng dụng máy khách đã làm việc với Entity Framework Code First như ORM). Khi client1 thêm một bản ghi vào cơ sở dữ liệu, điều này không trực tiếp hiển thị với client2. Chỉ khi client2 lấy tất cả dữ liệu một lần nữa (làm mới cứng), thay đổi này có thể nhìn thấy được.
Bây giờ tôi đang tìm một giải pháp về cách 'đồng bộ' này (?) Có thể hoặc nên được thực hiện. Tôi thích làm việc Entity Framework Code Đầu tiên, nó sẽ là tốt đẹp một giải pháp có thể giữ điều này. Ngoài ra ứng dụng vẫn còn trong giai đoạn rất sớm. Tôi nghĩ rằng có một cơ sở dữ liệu trung tâm và nhiều khách hàng kết nối với nó, nhưng tôi không chắc chắn nếu đây là một giải pháp tốt. Nếu các đề xuất/giải pháp của bạn sẽ yêu cầu một ứng dụng máy chủ trung tâm nơi các máy khách kết nối tới (và nơi ứng dụng máy chủ thực hiện xử lý cơ sở dữ liệu) thì điều này sẽ không có vấn đề gì.
Nếu có thể một giải pháp mẫu cơ bản hoặc một số mã cơ bản cho thấy cách luôn làm việc với dữ liệu mới nhất có thể sẽ rất hữu ích!
câu hỏi tương tự:
- Entity Framework - Underlying data (in database) change notification
- Entity Framework data updates in a multi-user environment with central database
- Entity framework data context not in sync with database?
Cảm ơn trước
cảm ơn đề xuất của bạn. Cá nhân này không giống như một cách làm việc tốt. Ứng dụng khách tải tất cả dữ liệu (vì một lưới và để tìm kiếm lưới), do đó, điều này có nghĩa là một localDB có toàn bộ bản sao của một máy chủ sql (express). ở đó tôi đã thấy những hạn chế (ví dụ: trang web cơ sở dữ liệu tối đa từ localDB vs máy chủ sql vs sql express). Bất cứ một đề nghị nào khác? – juFo