2009-08-20 2 views
4

У меня есть интересная проблема: я могу получить результаты от моей службы WCF до моего кода Silverlight в качестве DataTable. Проблема в том, что Silverlight не поддерживает объекты DataTable. Я уже говорил, что могу сделать, и лучшее, что я могу придумать, это передать его в список.Использование объекта DataTable с Silverlight

Отлично, правда? Неа. Теперь я получаю ту же проблему, что и раньше; ничто не возвращается. Код показывает, что он работает правильно, но он просто ничего не возвращает.

Любые советы относительно того, как это сделать? Мне нужно иметь возможность захватывать результаты базы данных и работать с ней в Silverlight. В настоящее время я могу получить данные в типе объекта, который не поддерживается Silverlight, но этот вид побеждает цель.

ответ

3

Использование DataTable не рекомендуется с помощью веб-службы, поскольку DataTable не совместим с другим языком, не совместимым с .NET.

Вы должны пересмотреть тип возврата своего веб-сервиса.

Посмотрите, сможет ли DataContract с WCF решить вашу проблему.

0

Silverlight как сущности. Выясните сущность. Сделайте еще один wcf-сервис, который вызывает первый. Сделайте свою магию во второй службе wcf - преобразуйте данные в объект. И затем из вашего серебристого света позвоните в службу второго wcf ...

0

Можете ли вы разместить дополнительную информацию о своей службе WCF?

Вы определили контракт с данными?

[DataContract] 
public class Vendor 
{ 
    [DataMember] 
    public int VendorID; 

    [DataMember] 
    public string AccountNumber; 

    [DataMember] 
    public string Name; 

    [DataMember] 
    public int CreditRate; 

    [DataMember] 
    public int PreferredVendorStatus; 

    [DataMember] 
    public int ActiveFlag; 

    [DataMember] 
    public string PurchasingWebServiceUrl; 

    [DataMember] 
    public DateTime ModifiedDate; 
} 

контракт данные необходимы для обслуживания сериализовать ваши объекты и для клиента, чтобы узнать, как собрать объект

Смежные вопросы