Файлы cookie, установленные в Windows.Web.Http.HttpRequestMessage, игнорируются при переадресации

Я использую HttRequestMessage и добавляю cookie в IHttpFilter следующим образом:

public IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage request)
{
    var c = new HttpCookiePairHeaderValue("SSOAutologonCertificate", "true");
    request.Headers.Cookie.Add(c);
    return InnerFilter.SendRequestAsync(request);
}

Используя Fiddler, я вижу, что cookie правильно добавлен в исходящий запрос. Тем не менее, ответ является автоматическим перенаправлением. Когда fiddler перехватывает этот исходящий запрос, этот cookie больше не устанавливается в заголовке http - кажется, он был забыт.

Это ожидаемое поведение? Или ошибка? Если это ожидаемое поведение, могу ли я что-нибудь изменить?

Если, с другой стороны, я добавляю cookie в коллекцию Cookie в объекте HttpBaseProtocolFilter, тогда все работает как положено, и cookie существует для каждого запроса авто-перенаправления. Конечно, пока это будет работать на данный момент, это полностью противоречит цели IHttpFilter.:-) Такое поведение наблюдалось в приложении магазина Windows (работающем в Windows 10 tech preview).

Кстати, я потратил некоторое время, пытаясь выяснить, как войти в источник.NET для пространства имен Windows.Web.Http, но, похоже, ничего не получилось (я могу в другой источник.NET). Есть ли специальный трюк для этих файлов компонентов Windows (модуль Windows.Web.winmd).

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

0 ответов

Другие вопросы по тегам