0

当我使用 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.aspx
http://msdn.microsoft.com/en-us/library/windowsphone/develop /hh202959%28v=vs.105%29.aspx

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

摘要用户名="adf", realm="bcd", nonce="XXXXXXXXX", uri="/ans/1268e52399.txt", algorithm=MD5, response="XXXXXXXXXXXXXXX", qop=auth, nc=00000001, cnonce= “XXXXXXXXXXXX”

4

1 回答 1

0

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

var credentials = new UTF8Encoding().GetBytes(username + ":" +password);

var transferRequest = new BackgroundTransferRequest(transferUri);

transferRequest.Headers["Authorization"] ="Basic " + convert.ToBase64String(credentials);

不幸的是,我现在无法对此进行测试,试一试,让我知道你的进展情况。

于 2013-10-07T19:27:36.720 回答