Deciding whether to use the DataContractSerializer, NetDataContractSerializer, XmlSerializer or the DataContractJsonSerializer is often an
easy decision. The DataContractSerializer should be the default serialization mechanism used because it is the native serialization mechanism for
WCF. However, if you have the need to support existing types or custom serialization not supported by the DataContractSerializer, you will most likely want to use the XmlSerializer. Although the NetDataContractSerializer is interesting, no direct support exists for using it without having to write code. Although some benefits exist to using the NetDataContractSerializer, its use is discouraged because it requires the sharing of types between the client and server. Finally, the DataContractJsonSerializer is used mostly in Web scenarios where services are being called from AJAX applications. If you plan to develop ASP.NET AJAX or Rich Internet Applications (RIAs) using Silverlight, you will most likely want to support JSON serialization using the DataContractJsonSerializer. Although JSON serialization is predominantly used within Web applications from JavaScript, its use is extended beyond Web applications because of its popularity. In these situations, the choice to use JSON becomes mostly a matter of personal preference. Finally, WCF provides a number of extensibility points that allow serialization to be completely replaced.
在WCF中选择序列化机制时,DataContractSerializer通常作为首选,因其是WCF的原生机制。但在需要支持现有类型或自定义序列化时,XmlSerializer更为合适。NetDataContractSerializer虽有趣,但使用需额外编码,且需客户端与服务器共享类型,不推荐使用。对于Web场景,如AJAX应用调用的服务,DataContractJsonSerializer用于JSON序列化。WCF还提供了完全替换序列化的扩展点。
1239

被折叠的 条评论
为什么被折叠?



