数据表示、异常处理与持久服务全解析
1. 数据表示与继承问题
在操作调用中,若要使用派生类型的参数替代基类型的参数,就需要 System.ServiceModel.ServiceKnownType 属性。这意味着在数据契约版本控制时,应避免使用继承。因为当期望接收基类型,却收到派生类型时,若代码未添加 System.ServiceModel.ServiceKnownType 属性来预先处理派生类型,派生类型的序列化就会失败。
Windows Communication Foundation 会隐式使用 System.Runtime.Serialization.DataContractSerializer 。以下示例展示了如何单独使用它将数据序列化为 XML:
MemoryStream stream = new MemoryStream();
DataContractSerializer serializer =
new DataContractSerializer(typeof(ClientViewOfData));
serializer.WriteObject(stream, calculation);
Console.WriteLine(
UnicodeEncoding.UTF8.GetChars(stream.GetBuffer()));
2. 异常处理
数据契约有助于向客户端通知服务中可能出现的异常。以下是具体步骤:
1. 在 Seria
超级会员免费看
订阅专栏 解锁全文
170万+

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



