2

我正在使用 HttRequestMessage,并在 IHttpFilter 中添加一个 cookie,如下所示:

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

使用 Fiddler 我可以看到 cookie 已正确添加到传出请求中。但是,回复是自动重定向。当提琴手捕获该传出请求时,该 cookie 不再设置在 http 标头中 - 它似乎已被遗忘。

这是预期的行为吗?还是一个错误?如果这是预期的行为,我能做些什么来改变它吗?

另一方面,如果我将 cookie 添加到 HttpBaseProtocolFilter 对象上的 Cookie 集合中,那么一切都会按预期工作,并且每个自动重定向查询都存在 cookie。当然,虽然这暂时可行,但这完全违背了 IHttpFilter 的目的。:-) 在 Windows 商店应用程序(在 Windows 10 技术预览版上运行)上观察到了这种行为。

顺便说一句,我花了一些时间试图弄清楚如何进入 Windows.Web.Http 命名空间的 .NET 源代码,但似乎没有任何效果(我可以进入其他 .NET 源代码)。这些windows组件文件有没有什么特别的技巧(模块是Windows.Web.winmd)。

提前致谢!

4

0 回答 0