我有WCF restful服务,并且具有名为Image with Imageclass
的属性[DataMember]
public Image Image { get; set; }
并在尝试调用具有上述属性
的对象的方法时收到以下错误System.Runtime.Serialization.SerializationException:不希望输入数据合约名称为“Bitmap:http://schemas.datacontract.org/2004/07/System.Drawing”的'System.Drawing.Bitmap'。将任何静态未知的类型添加到已知类型列表中 - 例如,使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。
答案 0 :(得分:2)
该错误几乎告诉您如何解决问题:在合同上添加System.Drawing.Bitmap
作为已知类型:
[DataContract]
[KnownType(typeof(System.Drawing.Bitmap))]
class YourContract
{
[DataMember]
public Image Image { get; set; }
}
答案 1 :(得分:0)
图像类不可序列化。有关KnownTypes的信息,请参阅http://msdn.microsoft.com/en-us/library/ms730167.aspx