我正在处理一个数据契约,如下所示,它使用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; }
}
....
}提前感谢
发布于 2012-01-16 22:46:55
保护服务的方法是限制绑定中的MaxReceivedMessageSize (默认情况下是65KB)和读取器配额。
https://stackoverflow.com/questions/8881115
复制相似问题