Проблема передачи IEnumerable <IDictionary>через WCF в Silverlight - PullRequest
0 голосов
/ 29 марта 2011

У меня есть служба WCF, которую я пытаюсь использовать, чтобы сгенерировать IEnumerable<IDictionary>, а затем построить сетку на лету из этого.

Подпись метода на сервере, который возвращает данные:

[OperationContract]
[FaultContract(typeof(GeneralServiceFault))]
IEnumerable<IDictionary> GetReport(string name, ReportingParameter[] parameters);

Я создаю ссылку на службу, используя:

call "C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Tools\slsvcutil.exe" http://localhost:8082/Service?wsdl /mergeConfig /config:..\ServiceReferences.ClientConfig /edb /namespace:"*,namespace.Service" /r:"c:\Program Files\Microsoft Silverlight\4.0.60129.0\System.Windows.dll"

Это создает ссылку службычто сводится к:

 public Dictionary<object, object>[] EndGetReport(IAsyncResult result)

Есть ли в любом случае, я могу заставить это генерировать с универсальным IDictionary, чтобы я мог вызвать найденный метод расширения здесь ?Или если нет, то как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Если вы используете / имеете доступ к Visual Studio, попробуйте следующее:

  • Щелкните правой кнопкой мыши Справочник по службам для службы в Visual Studio Solution Explorer

  • Выберите параметр, который гласит «Настройка справочника услуг»

  • Убедитесь, что указан тип коллекции System.Collections.Generic.List

  • Убедитесь, что указан тип коллекции словаря System.Collections.Generic.Dictionary

Извинения, но я не знаком со ссылкой на командную строку svcutil для генерации чего-либо, кроме конфигурации по умолчанию.

0 голосов
/ 29 марта 2011

Я не думаю, что это возможно ...
Просто измените метод расширения на:

public static IEnumerable ToDataSource<TDictionary>(
          this IEnumerable<TDictionary> list) where TDictionary : IDictionary
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...