Я довольно разочарован отсутствием информации о том, как отправлять данные в метод 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: Теперь он работает, спасибо никому.