Как отправить запрос postasync в веб-api.
Всем Привет,
Я делаю веб-приложение c#, для этого я использую Rest api. Я попытался передать url-адрес веб-api, чтобы получить ответ, в котором у меня есть содержимое xml-данных. Я могу получить это, но когда я пытаюсь отправить эти данные на сервер, чтобы скопировать эти данные с помощью PostAsync, я получаю проблему, может ли кто-нибудь помочь мне, я пытаюсь уже много дней, но я не могу исправить эту проблему.
пожалуйста, пройдите через мой код и дайте мне ответ. Заранее спасибо.
Что я уже пробовал:
<blockquote class="quote"><div class="op">Quote:</div>Here is my Client side code I am sending request. urlstring = @"api/home/CopyHotFolders?folderName=new&virtualPrName=FieryDemo print&isHotFolderEnabled=true"; var response = client.GetAsync(urlstring).Result; if (response.IsSuccessStatusCode) { string data = await response.Content.ReadAsStringAsync(); } here I am getting response "data" . that data I am trying to send request to the server using below code. StringContent httpContent = new StringContent(data, Encoding.UTF8, "text/json"); var serverAddress2 = string.Format(System.Globalization.CultureInfo.InvariantCulture, "http://{0}/", serverIP + ":5555"); using (var client2 = new HttpClient()) { client2.BaseAddress = new Uri(serverAddress2); urlstring = @"api/home/CopyHotFolderToDestination?folderName=xyz&virtualPrName=FieryDemo print&IsDefault=true"; HttpResponseMessage response2 = await client2.PostAsync(new Uri(urlstring, UriKind.Relative), httpContent); if (response2.IsSuccessStatusCode) { string data2 = await response2.Content.ReadAsStringAsync(); } // ...web api is like this........... [AcceptVerbs("POST")] [HttpPost] [Route("api/home/{CopyHotFolderToDestination}")] public HttpResponseMessage CopyHotFolderToDestination(string folderName, string virtualPrName, bool IsDefault) { string xmlData; HttpResponse request = HttpContext.Current.Response; string httpContent = Request.Content.ReadAsStringAsync().Result; xmlData = request.ToString(); StringContent xmlvalue = new StringContent(JsonConvert.SerializeObject(xmlData), Encoding.UTF8, "application/json"); return new HttpResponseMessage() { Content = xmlvalue }; } I am getting response like this ."\"System.Web.HttpResponse\"" instead of my xmldata. I need my xml data which I am sending to the server.</blockquote>
F-ES Sitecore
запрос.Метод toString()
эта линия идет, чтобы вернуть имя типа запроса, который является, где система.Веб.HttpResponse, который исходит от. Похоже, вы перепутали запрос и ответ. Просто google для примеров того, как использовать webapi, и это покажет вам, как читать их параметры.
Member 13914613
спасибо за ваш ответ.
Я сделал небольшое изменение его работы нормально.