C# 在Silverlight中与HttpClient一起使用浏览器cookie
我正在启动Silverlight 5控件,以向ASP MVC 4应用程序添加一些动态功能 我希望Silverlight控件在发出http请求时使用浏览器的cookies,这样我就可以共享ASP MVC应用程序的身份验证 我决定使用最近发布的http请求,因为它是新的,支持基于任务的异步调用,并且我已经有了一个使用它的WPF桌面客户端,所以我可以重用我的知识 然而,似乎没有简单的方法让C# 在Silverlight中与HttpClient一起使用浏览器cookie,c#,silverlight,silverlight-5.0,dotnet-httpclient,C#,Silverlight,Silverlight 5.0,Dotnet Httpclient,我正在启动Silverlight 5控件,以向ASP MVC 4应用程序添加一些动态功能 我希望Silverlight控件在发出http请求时使用浏览器的cookies,这样我就可以共享ASP MVC应用程序的身份验证 我决定使用最近发布的http请求,因为它是新的,支持基于任务的异步调用,并且我已经有了一个使用它的WPF桌面客户端,所以我可以重用我的知识 然而,似乎没有简单的方法让HttpClient使用浏览器的cookie。 我的第一次尝试是使用WebRequest.RegisterPref
HttpClient
使用浏览器的cookie。
我的第一次尝试是使用WebRequest.RegisterPrefix
并为“http”调用指定WeRequestCreator.BrowserHttp
。但是,HttpClient似乎不使用WebRequest下划线,或者不关心注册表refix
。使用VisualStudio,我可以看到WebRequest
有一个名为portableWebRequestCreator
的私有静态字段,我想知道它是否打算被PortableSilverlight 5库用作HttpClient
。但是,即使它这样做了,我也无法更改该实例,因为它没有公开,Silverlight不允许私有成员反射
我的下一个尝试是使用HtmlPage.Document.cookies
获取当前浏览器cookies,将它们转换为CookieContainer,与HttpClient一起使用,将CookieContainer转换回字符串,并在每次调用时更新浏览器cookies。
然而,这看起来有点过头了