Я пытаюсь получить данные из службы WCF REST, чтобы вернуться как xml или json.вызовите службу обслуживания wcf и возвращайте данные как xml или json
можно вернуть данные в виде XML или JSON при установке RequestFormat и ResponseFormat с помощью атрибута WebInvoke и установки как в соответствующем формате, как, например:
Но я не хочу, чтобы жёстко формат, поэтому исследовал его далее в Интернете, и я нашел пару вещей, но независимо от того, что я делаю, он всегда возвращает мои данные в формате xml.
Вот что я сделал:
Убрана RequestFormat и ResponseFormat из атрибута WebInvoke.
[OperationContract] [WebInvoke( Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "Search/{searchName}/{fieldValues}")] Result Search(string searchName, string fieldValues);
Я добавил следующий раздел моей web.config:
<system.serviceModel> <standardEndpoints> <webHttpEndpoint> <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/> </webHttpEndpoint> </standardEndpoints> </system.serviceModel>
Я не знаю, если выше требуется, так как я был в состоянии форматировать как в формате без этого в моем web.config, но я думаю, это действительно говорит automaticaFormat
При вызове
WebClient
, я установил обаContent-Type
иAccept
заголовкиapplication/xml
или `приложения/JSON.Но даже после внесения этих изменений и установки моих заголовков на
application/json
, он по-прежнему возвращает данные в формате XML.Я попробовал это в Fiddler, но то же самое. Запрос получен, ответ возвращается, но в xml.
Я также попытался положить следующий код в вызове метод WCF, но до сих пор ничего хорошего:
WebOperationContext.Current.OutgoingResponse.ContentType = "application/json";
Наконец, я нашел это article и последовал шаги, насколько я могу сказать, но нет хорошо еще раз! Просто найдите «раздел выбора формата сообщения».
У меня явно что-то отсутствует, но что ??? Кто-нибудь получил какие-либо идеи о том, как это можно достичь?
У служб ASP.NET Web API эти функции встроены. Используйте это, если сможете - если вам не нужно что-то очень специфичное для WCF. – YK1