Возможно ли иметь подпись метода, подобную этой, в службе WCF 3.5 (Предложение - это пользовательский класс с DataContractAttribute и DataMemberAttribute):
[OperationContract]
[WebGet(UriTemplate = "GetOffers", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
IList<Offer> GetOffers();
Потому что, если я наберу в веб-браузере соответствующий URL-адрес, Я получаю ошибку сериализации (я думаю, это потому, что IList не имеет атрибута Serializable, поэтому сериализатор json не может его сериализовать).
Обходным путем будет использование сигнатуры метода, подобной этой:
[OperationContract]
[WebGet(UriTemplate = "GetOffers", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
List<Offer> GetOffers();
Приводя к тому же сериализованному выводу (простой массив json), но так как первый работает с XML, мне было интересно, есть ли способ заставить его работать в json, сохраняя ту же сигнатуру.
Редактировать: Хорошо, он также не работает с сериализацией XML, поэтому поведение кажется нормальным.Вопрос все еще стоит, возможно ли сохранить эту подпись и изменить поведение сериализатора, чтобы это работало?Как?