以下是Windows Phone上WebClient的情况 我能够拉动&将数据推送到使用asp.net Web Api托管的Web服务 现在我在Web服务上启用了基本身份验证,在Windows Phone上添加了Header到WebClient的代码 我注意到授权标头没有到达Web服务,因此Web服务抛出了错误的请求 已经搜索了stackoverflow和博客,但无法获得Web服务工作的授权标题 关于上述问题的一些方向将会有很大帮助。
答案 0 :(得分:0)
由于某种原因,webclient没有发送授权标题。
我从网络上问了一个Windows Phone冠军。他建议安装nuget包HttpClient。并使用HttpClient而不是WebClient。这个HttpClient支持异步并等待甚至在wp7上。可以让它轻松工作。
示例代码:
string api = "/api/example/?id=abc";
var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:0000/");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue
("Basic", Convert.ToBase64String
(
new Helpers().StringToAscii(Username, Password)
)
);
var resultString = await client.GetStringAsync(api);
希望这有帮助。