Tôi đã dành phần lớn thời gian vào tuần trước để làm việc theo chuỗi. Trong thời gian đó, tôi đã tìm thấy nhiều ví dụ sử dụng BinaryFormatter hoặc XmlSerializer. Thật không may, những gì tôi đã không tìm thấy là bất kỳ ví dụ chi tiết toàn diện sự khác biệt giữa hai.Sự khác biệt giữa XmlSerializer và BinaryFormatter
Nguồn gốc của sự tò mò của tôi nằm ở lý do tại sao BinaryFormatter có thể deserialize trực tiếp đến một giao diện trong khi XmlSerializer thì không. Jon Skeet trong câu trả lời cho "casting to multiple (unknown types) at runtime" cung cấp ví dụ về tuần tự nhị phân trực tiếp cho giao diện. Stan R. cung cấp cho tôi phương tiện hoàn thành mục tiêu của tôi bằng cách sử dụng XmlSerializer trong câu trả lời của mình cho "XML Object Deserialization to Interface".
Ngoài sự rõ ràng của BinaryFormatter sử dụng tuần tự hóa nhị phân trong khi XmlSerializer sử dụng XML, tôi muốn hiểu đầy đủ hơn về những khác biệt cơ bản. Khi nào nên sử dụng cái này hay cái kia và những ưu và nhược điểm của mỗi cái.
Bảng tốt. Tôi luôn tìm thấy sự thiếu hụt Generics gây phiền nhiễu SOAP. –
@ahsteele - bạn là một ngôi sao –
Tôi tin rằng phân loại "hiệu suất tốt nhất" là sai. Định dạng nhị phân là serializer thực hiện tồi tệ nhất trong .net (ngoại trừ có thể là trình định dạng xà phòng). Ít nhất đó là điểm chuẩn nhất cho thấy: http://blogs.msdn.com/b/youssefm/archive/2009/07/10/comparing-the-performance-of-net-serializers.aspx, http: // james. newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx, http://techmikael.blogspot.com/2010/01/net-serialization-performance.html – joniba