Моя служба WCF определена следующим образом [Контракт на обслуживание] открытый интерфейс IService1 { [OperationContract] IList GetMyTable ();
[OperationContract]
void SendMyTable(List<RatePositions> ratePositions);
[OperationContract]
void SendString(string value);
}
Когда я вызываю GetMyTable () из моего приложения SilverLight, он работает нормально, он приносит в мое приложение List of ratePositions. SendString () также отлично работает, отправляя строку из моего приложения.
SendMyTable (List ratePositions) не работает, который должен отправить List of ratePositions из моего приложения.
Я получаю следующую ошибку: Удаленный сервер вернул неожиданный ответ: (404) Не найдено.
Есть идеи, почему этот метод не работает, а другие работают?





Поскольку Silverlight не любит «Список», он скорее преобразует его (на клиенте) в «ObservableCollection». Попробуйте использовать ObservableCollection вместо List. Это должно решить вашу проблему.
Проблема может заключаться в размере сообщения в WCF. Посмотрите как файл clientconfig, созданный в вашем проекте silverlight, так и файл web.config в вашем серверном проекте, чтобы убедиться, что размер возвращаемых вами данных не слишком велик.
Ошибка 404 - это уловка любого сбоя WCF. Можете ли вы отладить код сервера, чтобы увидеть, заходит ли он так далеко?
Я исправил эту проблему, увеличив MaxBufferSize в файле конфигурации.
Дерьмо сообщение об ошибке!