提供 BackgroundTransferRequest (WP8) 的凭据

本文关键字:WP8 BackgroundTransferRequest 提供 | 更新日期: 2023-09-27 18:34:09

当我使用HttpWebRequest时,我使用以下代码来设置凭据

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToCall);
request.Method = "GET";
request.Credentials = new NetworkCredential(username, pass);

当我在Windows Phone 8中使用BackgroundTransferService时,我该如何做同样的事情。

作为参考,我使用以下方法。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202955%28v=vs.105%29.aspxhttp://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202959%28v=vs.105%29.aspx

*编辑:身份验证方法是摘要式这是我使用浏览器下载文件时在授权标头中得到的内容。

摘要用户名="adf", realm="bcd", nonce="XXXXXXXXXX", uri="/ans/1268e52399.txt", algorithm=MD5, response="

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 00000001

提供 BackgroundTransferRequest (WP8) 的凭据

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
不幸的是,

BackgroundTranserService不支持此功能。一种可能的解决方案可能是手动为您的请求创建一个标头,如下所示:

var credentials = new UTF8Encoding().GetBytes(username + ":" +password);
var transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.Headers["Authorization"] ="Basic " + convert.ToBase64String(credentials);

不幸的是,我目前无法对此进行测试,请尝试一下,让我知道您的进展如何。