具有摘要式身份验证的HttpWebRequest在metro应用程序中返回错误401(Windows 8)

时间:2012-07-14 22:09:57

标签: microsoft-metro windows-runtime webrequest digest

我正在为Windows 8(metro应用程序)开发一个应用程序,需要从需要摘要式身份验证的服务器下载一些内容。

这是我用来发送请求的代码:

WebRequest webRequest = WebRequest.Create("http://my_site_with_http_digest_auth");
webRequest.Method = "GET";
webRequest.Credentials = new NetworkCredential("user", "pass");
webRequest.UseDefaultCredentials = false;
HttpWebResponse webResponse = (HttpWebResponse)await webRequest.GetResponseAsync();
if (webResponse != null && webResponse.StatusCode == HttpStatusCode.OK)
{
    // Analyze response here...
}

当我在metro应用程序中运行此代码时,服务器返回401 (authentication error)。完全相同的代码在Windows Phone和普通的.NET应用程序上运行良好。这只发生在Windows 8 metro应用程序上。也许这是WinRT中的一个错误。有人在地铁应用程序中遇到过这个问题吗?有提示吗?