Как добавить пользовательский заголовок в HttpClient ()? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь добавить пользовательский заголовок в заголовок запроса моего веб-приложения. В моем веб-приложении я получаю данные из веб-API, в этом запросе я хочу добавить пользовательский заголовок, который содержит строку sessionID. Я ищу общее решение, чтобы мне не приходилось добавлять один и тот же код перед каждым звонком.

Мой контроллер выглядит так:

[HttpGet]
    public async Task<ActionResult> getCall()
    {
        string url = "http://localhost:51080/";
        string customerApi = "customer/1";

        using (var client = new HttpClient())
        {
            //get logged in userID
            HttpContext context = System.Web.HttpContext.Current;
            string sessionID = context.Session["userID"].ToString();

            //Create request and add headers
            client.BaseAddress = new Uri(url);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            //Custom header


            //Response
            HttpResponseMessage response = await client.GetAsync(customerApi);
            if (response.IsSuccessStatusCode)
            {
                string jsondata = await response.Content.ReadAsStringAsync();
                return Content(jsondata, "application/json");
            }
            return Json(1, JsonRequestBehavior.AllowGet);
        }
    }

Надеюсь, что кто-нибудь может помочь!

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Попробуйте это:

client.DefaultRequestHeaders.Add("X-Version","1");
0 голосов
/ 23 апреля 2019

Коллекция за DefaultRequestHeaders имеет метод Add, который позволяет добавлять любой заголовок, который вам нужен:

client.DefaultRequestHeaders.Add("headerName", sesssionID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...