Để cung cấp một chút nền.Thực hành mã hóa tốt khi lưu dữ liệu vào tệp .net
Tôi đã tạo một ứng dụng cho phép người dùng lưu cài đặt và sau đó gọi lại cài đặt sau này. Để làm điều này tôi đã tạo ra một số đối tượng serializable. Tôi đã nhận được điều này để làm việc bằng cách sử dụng BinaryFormatter mà không gặp rắc rối nhiều.
Nơi tôi bắt đầu gặp sự cố là khi tôi nâng cấp phần mềm và thêm cài đặt mới. Bây giờ các đối tượng serializable của tôi không khớp và vì vậy tôi phải cập nhật các tập tin. Tôi đã làm điều này thành công cho một vài phiên bản. Nhưng để làm điều này tôi cố gắng deserializing các tập tin và nếu nó ném một ngoại lệ, tôi cố gắng với phiên bản tiếp theo. . .và sau đó tiếp theo. . .và sau đó tiếp theo. . . cho đến khi tôi tìm được cái đúng. Sau đó, tôi phải viết các chức năng chuyển đổi cho mỗi phiên bản cũ để chuyển đổi nó thành phiên bản mới nhất. Tôi cũng đã tạo một tệp "sửa đổi", vì vậy tôi chỉ có thể kiểm tra phiên bản trước và sau đó nâng cấp nó, nhưng tôi vẫn phải giữ rất nhiều "phiên bản" khác nhau và viết các chức năng chuyển đổi cho tất cả chúng . . . mà dường như vốn đã lộn xộn với tôi và dễ bị sưng lên sau này xuống dòng nếu tôi tiếp tục đi tuyến đường này.
Phải có cách tốt hơn để làm điều này, tôi không chắc chắn như thế nào.
Cảm ơn
Có chức năng dựng sẵn trong khung .net, bắt đầu bằng phiên bản 2, thực hiện chính xác những gì bạn muốn mà không cần phải viết mã của riêng bạn. Vui lòng xem câu trả lời của tôi bên dưới. – Andy