Как разместить строку httpcontent в ASP.net Core Web API?C#

Место общения программистов C#
Ответить
Anonymous
 Как разместить строку httpcontent в ASP.net Core Web API?

Сообщение Anonymous »

На стороне клиента я публикую запрос, используя httpclient к классу ASP.net Core Web API на стороне сервера.
Я хочу отправить строку () в теле запроса и аргумент строки (

Код: Выделить всё

numStr=5
) В заголовке я прочитал много подобного потока, но все еще не удалось.
Вот метод клиента:

Код: Выделить всё

public async void SendBodyAsync(Action onRespond)
{
try
{
string URL = "http://localhost:60039/api/calculator/AddMore";

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, URL);
request.Headers.Add("numStr", "5");

request.Content = new StringContent("OK", Encoding.UTF8, "text/plain");   //causes error

HttpResponseMessage response = await mHttpClient.SendAsync(request);
response.EnsureSuccessStatusCode();

string result = await response.Content.ReadAsStringAsync();
onRespond(result);
}
catch (HttpRequestException ex)
{
Debug.LogError(ex);       //Unity3D console Debug
onRespond(null);
}
}
< /code>
Вот действие сервера: < /p>
[Route("api/[controller]/[action]")]
[ApiController]
public class CalculatorController : ControllerBase
{
public string AddMore([FromHeader]string numStr)
{
//string bodyStr;
//get string from Request.Body and set the value to bodyStr
return (int.Parse(numStr) + 10).ToString();
}
}
Если я удалю линию request.content = new StringContent ("OK", Encoding.Utf8, "text/plain"); из метода клиента, значение ответа - 15 , что правильное. /> Произошла ошибка при отправке запроса --->
system.net.webexception: запрос требует буферизации данных для
succeed.образной Httplistener , он считывает request.content как clientContext транслировать правильно. Я думаю, может быть, проблема заключается в том, что request.content < /code> не равна телу http, и маловероятно, что проблема буферизации, как говорится в сообщении об ошибке. Запрос или ...
Как я могу получить и правильно проанализировать строку в корпусе запроса на стороне сервера?>

Подробнее здесь: https://stackoverflow.com/questions/604 ... re-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»