Я боролся с этим в течение нескольких дней и думаю, что у меня есть проблема, связанная с проблемой сериализации.
У меня есть служба данных WCF, и я вызываю хранимую процедуру, которая извлекает наборы данных (n рядов). Служба данных использует функцию импорта и возвращает сложный тип. Сервис работает нормально, возвращает в браузере следующее:
DELETE
116
703
Но когда я вызываю эти данные из клиента (приложение для Windows Phone), результаты не возвращаются. Я подтвердил, что URL напрямую выводит данные выше.
Вот звонок клиента ...
_changes.LoadCompleted += new EventHandler<System.Data.Services.Client.LoadCompletedEventArgs>(Items_LoadCompleted);
_changes.LoadAsync(new Uri(theUrl, UriKind.Absolute));
А вот и обратный звонок
void Items_LoadCompleted(object sender, System.Data.Services.Client.LoadCompletedEventArgs e)
{
int count = _changes.Count;
_changes.ToList().ForEach( x=>{
....
});
Ошибки не выдаются, просто результатов не возвращается.
Я понял, что приведенный выше xml-файл из службы данных НЕ в формате атома. Единственное, о чем я могу думать, это то, что клиент не может сериализовать данные в сложном типе, потому что они не в формате Atom.
Итак, у меня есть 3 вопроса:
1. Кто-нибудь еще сталкивался с этим?
2. Есть ли способ обхода клиента для сериализации сложного типа?
3. Есть ли работа на стороне сервера для сериализации комплекса в Atom?