2

我正在启动 Silverlight 5 控件以向 ASP MVC 4 应用程序添加一些动态功能。

我希望 Silverlight 控件在发出 http 请求时使用浏览器的 cookie,这样我就可以共享 ASP MVC 应用程序的身份验证。

我决定使用最近发布的可移植HttpClient来发出 http 请求,因为它是新的,支持基于任务的异步调用,而且我已经有一个使用它的 WPF 桌面客户端,所以我可以重用我的知识。

但是,似乎没有简单的方法可以HttpClient使用浏览器的 cookie。

我的第一次尝试是使用WebRequest.RegisterPrefix并指定WeRequestCreator.BrowserHttp“http”调用。但是,看起来 HttpClient 不使用 WebRequest 下划线,或者不关心RegisterPrefix. 使用 VisualStudio,我可以看到它WebRequest有一个名为 的私有静态字段portableWebRequestCreator,我想知道它是否打算由便携式 Silverlight 5 库使用,如HttpClient. 但是,即使它这样做了,我也无法更改实例,因为它没有暴露并且 Silverlight 不允许私有成员反射。

我的下一个尝试是使用 获取当前浏览器 cookie HtmlPage.Document.Cookies,将它们转换为 CookieContainer,与 HttpClient 一起使用,将 CookieContainer 转换回字符串,并在每次调用时更新浏览器 cookie。然而,它看起来像一个矫枉过正。

4

0 回答 0