HttpContext Request Cookies и Configurawait(false)?

Добрый вечер, что-то я в раздумьях, допустим есть такой метод web.api .net:
[HttpGet]
        public async Task<IHttpActionResult> Index(Guid portalUser)
        {
//можно сказать, что  это фабрики которые создают нужные мне объекты. 
//authCookiesManager примерно выглядит вот так:
/*
() =>
                    (context) => new AuthCookiesManager(
                        context.Request.Cookies,
                        context.Response.Cookies))
*/
            var authCookiesManager = getAuthCookiesManager(ActionContext.HttpContext());
            var сlient = getClient(ActionContext.HttpContext());

//можно ли здесь вызвать .ConfigureAwait(false)
            var value = await сlient.FooAsync(portalUser);

//я понимаю, с .ConfigureAwait(false) в этом месте обратившись к ActionContext.HttpContext()
//я могу получить уже null, либо текущий контекст, либо вообще контекст какого-нибудь другого запроса

            if (string.IsNullOrWhiteSpace(value ))
            {
                return BadRequest();
            }

//authCookiesManager работает с cookies текущего запроса, которые я прокинул ему вначале метода
//Вот интересно поведение этих куки с  .ConfigureAwait(false), они тоже подохнут или ссылки на них все же будут жить внутри данного объекта? 
            authCookiesManager.SaveSessionId(value , settings.Domain);
            authCookiesManager.RemoveSessionState();

            return Json(new ClientResult {RedirectTo = settings.Href});
        }

internal static class HttpActionContextExtensions
    {
        private const string MsHttpContext = "MS_HttpContext";

        internal static HttpContextBase HttpContext(this HttpActionContext context)
        {
            Ensure.NotNull(context, nameof(HttpActionContext));

            return context.Request.Properties[MsHttpContext] as HttpContextBase;
        }
    }


Правильно ли я все понимаю? С .ConfigureAwait(false) код после него не может мне гарантировать http-контекст ActionContext.HttpContext(), но интересно как дела обстоят с cookies?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@chibitko
ActionContext потоконезависимый, после await он точно тот же, что до await, на то он и ACTION context
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы