我正在开发一个应用程序,它会消费需要登陆的RESTful web服务。这个登陆验证是基于session cookie的,为了下载任何数据,我使用了以下扩展:WebClient
。
public class CookieWebClient : WebClient
{
[SecuritySafeCritical]
public CookieWebClient() : base()
{
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = App.GlobalCookieContainer;
}
return request;
}
}
然而,返回的部分数据是不同 ListBox 中显示的图像缩略图的 URI。在我必须为 Web 服务使用登录之前,我只需将 ImageSource 绑定到数据中指定的 URI 即可:
<Image Source="{Binding Icon_Url}" />
然而,现在我必须使用登录,因此在获取图像时必须提供一个cookie。因此,我认为可以使用解决问题,我将传递URI,它将使用我的扩展WebClient下载BitmapImage,直到我记起在WP7上只能使用异步调用WebClient。因此,我的问题是如何为具有请求中必须有cookie的ListBoxItem中的Image控件下载图像?谢谢!
IValueConverter
中使用它,而不是一般情况下。 - Nate