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