Я пытаюсь использовать службу WCF в Silverlight ...
Я создал две отдельные сборки для своих контрактов данных ...
Сборка, содержащая все мои типы, отмеченные контрактами данных, построенными для .Net 3.5
Сборка Silverlight, которая ссылается на файлы в 1-й сборке.
Это означает, что мое приложение .Net может ссылаться на сборку 1 и мою сборку приложения Silverlight 2. Это работает нормально, и я могу общаться через службу.
Проблемы возникают, когда я пытаюсь передать унаследованный класс. У меня следующая структура класса ...
IFlight - интерфейс для всех типов полетов.
BaseFlight: IFlight - базовый полет реализует IFlight
AdhocFlight: BaseFlight, IFlight - специальный полет наследуется от baseflight, а также реализует IFlight.
Могу успешно переносить базовые рейсы через сервис. Однако мне действительно нужно иметь возможность передавать объекты IFlight через интерфейс, поскольку мне нужен один контракт операции, который может передавать многие типы полета ...
public IFlight GetFlightBooking()
{
AdhocFlight af = new AdhocFlight();
return af;
}
... я думаю, должно работать?
Однако я получаю сообщение об ошибке:
«Сервер не предоставил значимого ответа; это могло быть вызвано несоответствием контракта, преждевременным завершением сеанса или внутренней ошибкой сервера».
Любые идеи были бы хорошы.