Основные встроенные типы (например, byte
, int
, string
и массивы) будут автоматически сериализованы WCF. Пользовательские классы, такие как ваш загруженный файл, не будут.
Итак, глупый вопрос (но я должен его задать ...): помечен ли UploadedFile как [DataContract]
? Если нет, вам нужно убедиться, что это так, и что каждый член класса, который вы хотите отправить, помечен [DataMember].
В отличие от удаленного взаимодействия, когда пометка класса с помощью [XmlSerializable] позволяла вам сериализовать весь класс, не удосуживаясь отметить элементы, которые вы хотите сериализовать, WCF требует, чтобы вы пометили каждого члена. (Я считаю, что это меняется в .NET 3.5 SP1 ...)
Огромный ресурс для развития WCF - это то, что мы знаем в нашем магазине как «рыбная книга»: Программирование служб WCF Ювала Лоуи. В отличие от некоторых других книг WCF, которые немного суховаты и академичны, эта книга использует практический подход к созданию служб WCF и действительно полезна. Тщательно рекомендуется.