Silverlight 4 中客户端 http 堆栈的新功能之一是能够提供网络凭据。当我使用此功能时,Windows 显示“Windows 安全”消息框,提示用户输入登录名和密码(框中的文本为“xx 处的服务器 xx 需要用户名和密码。警告:此服务器正在请求您的用户名和密码以不安全的方式发送(没有安全连接的基本身份验证)。”)。我正在设置登录名和密码,如下所示,所以我不确定为什么会显示。我的代码是:
var request = WebRequestCreator.ClientHttp.Create(new Uri("http://myserver:8080/gui/?list=1"));
request.Credentials = new NetworkCredential("login", "password");
request.BeginGetResponse(new AsyncCallback(OnRequestComplete), request);
如果我在消息框中输入用户名和密码,则请求成功完成。出于多种原因,我宁愿提示用户输入登录名和密码,所以我想尽可能避免使用消息框。
我的设置是 Silverlight 4 final,VS 2010 final,Windows 7 x86。应用程序不在具有提升权限的浏览器中。