Как прочитать данные заголовка из ответа веб-API в .NET Core?C#

Место общения программистов C#
Ответить
Anonymous
 Как прочитать данные заголовка из ответа веб-API в .NET Core?

Сообщение Anonymous »

Я вызываю методы веб-API из своего клиентского проекта и возвращаю значение из заголовка ответа клиенту:

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

[HttpPost]
[AllowAnonymous]
[Route("login")]
public IActionResult Login(Users user)
{
string s = _repository.Users.ValidateUser(user);
if (s == "success")
{
Users u = _repository.Users.FindByUserName(user.UserName);
int pid = u.PersonId;
string role = "";
if (u != null)
{

role = _repository.RoleManager.GetRole(u.Id);
}
Response.Headers.Add("Role", role);
return Ok(pid.ToString());
}

}
И я попробовал приведенный ниже код для получения значения заголовка в клиентском приложении:

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

[HttpPost]
public IActionResult Login(Users user)
{
string pid = "";
HttpClient client = service.GetService();
HttpResponseMessage response = client.PostAsJsonAsync("api/mymethod", user).Result;
Task tokenResult = response.Content.ReadAsAsync();
pid = tokenResult.Result.ToString();

var headers = response.Headers;
string role = "";
if (headers.TryGetValues("Role", out IEnumerable headerValues))
{
role = headerValues.ToString();
}

return RedirectToAction("Profile");
}
Но он возвращает System.String[] .
Пожалуйста, покажите мне правильный способ получения данных из заголовка ответа.< /п>

Подробнее здесь: https://stackoverflow.com/questions/536 ... n-net-core
Ответить

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

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

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

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

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