Использовать WCF Rest Service (JSON) с использованием C # ASP.NET MVC - PullRequest
2 голосов
/ 07 июля 2011

Мне трудно использовать службу REST WCF, которая возвращает JSON, в приложении C # ASP.NET MVC. Я пытаюсь использовать службу в контроллере. У меня есть ASP.NET MVC проект и сервисный проект в одном решении. Я создал запись в своем локальном IIS, которая указывает на проект службы (т. Е. http://localhost/SampleService/).The Служба WCF работает, поскольку я могу получить доступ к URL-адресу и возвращается правильный JSON.

Есть ли у кого-нибудь примеры кода при использовании JSON через контроллер из службы RESTful WCF?

Ответы [ 3 ]

3 голосов
/ 07 июля 2011

Вы можете использовать DataContractJsonSerializer:

Вот пример:

var client = new WebClient();
var data = client.DownloadData("http://localhost/SampleService/GetJsonMessage");
var stream = new MemoryStream(data);
var obj = new DataContractJsonSerializer(typeof(string));
var result = obj.ReadObject(stream).ToString();

В вашем контроллере вы можете сделать это для просмотра результата

return Content(result.ToString())
1 голос
/ 04 августа 2011

Я использовал WebChannelFactory, и он отлично работал.

0 голосов
/ 08 июля 2011

Вы можете использовать либо встроенную DataContractJsonSerializer, либо библиотеку JSON.NET JsonSerializer.

Я предпочитаю последнее, потому что оно более устойчивое. Иногда DataContractJsonSerializer не может десериализовать объект JSON.

Пример кода:

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(jsonText);

Чтобы загрузить библиотеку, перейдите на http://json.codeplex.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...