我正在研究如下数据合同,该数据合同使用 IExtensiblesDataObject 使其与该合同的版本 02 向前兼容,但我担心可能通过客户端通过需要删除的线路传递过多数据而导致“意外”拒绝服务序列化,重新序列化并发回。
如果不通过配置文件中的 ignoreExtensionDataObject 关闭支持,有没有办法防止这种可能性,即你能以某种方式限制数量吗?
[DataContract(Namespace="http://schemas.myComany.com/sample/01")]
public class Sample : IExtensibleDataObject
{
[DataMember]
public int32 sample_ID;
private ExtensionDataObject _data;
public virtual ExtensionDataObject ExtensionData
{
get { return _data; }
set { _data = value; }
}
....
}
提前致谢