Файлы 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).
Заранее спасибо!