Использование метода post в шаблоне WCF REST 40 - JSON - PullRequest
0 голосов
/ 13 марта 2012

Я довольно разочарован отсутствием информации о том, как отправлять данные в метод REST WCF в форме JSON.Я попробовал почти все там.Google просто возвращает пурпурные ссылки на этом этапе ...

Я ищу способ отправки объекта JSON в мой метод, чтобы он мог отложить все данные для меня.В настоящее время я пытаюсь получить работу ниже:

Заголовок метода:

[WebInvoke(Method = "POST", UriTemplate = "role/new", ResponseFormat = WebMessageFormat.Json)]
void AddNewRole(Stream streamdata)

Логика из клиентского приложения:

string json = JsonConvert.SerializeObject(role);
byte[] buffer = Encoding.UTF8.GetBytes(json);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://IP/InfoService/role/new");
request.Method = "POST";
request.Credentials = new NetworkCredential("", "");
request.ContentType = "application/x-www-form-urlencoded";
using (StreamWriter sw = new StreamWriter(request.GetRequestStream()))
{
     sw.Write(json);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
     MessageBox.Show(sr.ReadToEnd());
}

Использование этого метода Iполучить принятый ответ от службы, но это пустой ответ, и новые данные не добавляются в базу данных.Конечно, возможно, что есть проблема с моими методами обновления базы данных.В любом случае, кто-нибудь может помочь мне выяснить, где я ошибаюсь?

РЕДАКТИРОВАТЬ: у меня теперь есть fiddler, способный тестировать на тестовом клиенте, и, как и ожидалось, есть проблемы с моими запросами БД.Я скоро напишу.

EDIT2: Наконец-то решены проблемы с базой данных, теперь я успешно вызвал через fiddler.

EDIT3: Теперь он работает, спасибо никому.

1 Ответ

0 голосов
/ 15 декабря 2012

Код выше был отредактирован, он работает.

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