Контракт с данными ожидался Image
, но получил экземпляр Bitmap : Image
. WCF любит знать о наследовании заранее , поэтому вам нужно будет сообщить об этом. Но! Я, честно говоря, не думаю, что это хороший подход; вместо этого вы должны просто перебросить необработанный двоичный файл - что, вероятно, означает сохранение сначала Image
в MemoryStream
Вы также должны официально украсить ваш тип контракта. Я бы отправил:
[DataContract]
public class MyImage
{
[DataMember]
public byte[] Image { get; set; }
[DataMember]
public string FullPath { get; set; }
}
Пример получения byte[]
:
using(var ms = new MemoryStream()) {
image.Save(ms, ImageFormat.Bmp);
return ms.ToArray();
}