Как заполняется х-запрос? - PullRequest
0 голосов
/ 04 декабря 2018

Пожалуйста, посмотрите код ниже, который похож на код, который я смотрю:

 [HttpGet]
        public IActionResult Create([FromHeader(Name = "x-requestid")] string requestId)
        {
            return View();
        }

        [HttpPost]
        public IActionResult Create(Person person, [FromHeader(Name = "x-requestid")] string requestId)
        {
            if (ModelState.IsValid)
            {
                string test = "got here";
            }
            return View();
        }

requestId всегда нулевой.Как заполняется requestId?

За последние два часа я прочитал много вопросов, например, этот: Что такое http-заголовок X-REQUEST-ID? .Ответчик на другой вопрос, предлагающий установить следующий пакет Nuget:

Microsoft.ApplicationInsights.ASPNetCore

Однако это не имело никакого значения.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Вы обязаны запросить заголовок с именем "x-requesttid", но он должен называться "X-Request-ID".Просто попробуйте:

[HttpGet]
public IActionResult Get([FromHeader(Name = "x-request-id")] string requestId)
{
    return View();
}
0 голосов
/ 04 декабря 2018

Как правило, заголовки "x- *" являются нестандартными .

Этот конкретный, вероятно, случайно используется в Application Insights для однозначной идентификации запроса, но вряд лиотправлять запросы на ваш сервер, включая его.

Независимо от того, что клиент отправляет запросы на ваш сервер, необходимо явно добавить этот заголовок, чтобы вы получили его там;это не часть стандартного HTTP-запроса.

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