消耗服务时WCF休息服务错误

时间:2009-08-06 14:48:15

标签: wcf service rest

我有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的已知类型列表中。

2 个答案:

答案 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