Silverlight OOB应用程序中的请求缺少凭据
我正在编写一个简单的Silverlight应用程序,其中包含以下代码,我认为这是相当标准的:Silverlight OOB应用程序中的请求缺少凭据,silverlight,out-of-browser,Silverlight,Out Of Browser,我正在编写一个简单的Silverlight应用程序,其中包含以下代码,我认为这是相当标准的: WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp); var request = new WebClient(); var cred = new NetworkCredential(Server.UserName, Server.Password); request.Credentials = cred; request
WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
var request = new WebClient();
var cred = new NetworkCredential(Server.UserName, Server.Password);
request.Credentials = cred;
request.UseDefaultCredentials = false;
request.DownloadStringCompleted += TestServerCompleted;
var uri = new Uri(Server.GetRequestUrl(Methods.ping));
request.DownloadStringAsync(uri);
然而,当我在Fiddler中查看请求时,没有任何凭据添加到头中。我错过了什么?这里不应该有“Authorization:Basic…”标题吗?试试这样的东西
HttpWebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.UseDefaultCredentials = false;
req.Credentials = ew NetworkCredential(Server.UserName, Server.Passwor
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
return req;
req.BeginGetResponse((IAsyncResult asynchronousResultResponse) =>
{
try
{
HttpWebRequest requestResponse = (HttpWebRequest)asynchronousResultResponse.AsyncState;
HttpWebResponse response = (HttpWebResponse)requestResponse.EndGetResponse(asynchronousResultResponse);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
//Your response is here in responseString
streamResponse.Close();
streamRead.Close();
response.Close();
}
catch (Exception e)
{
Callback(null, e);
}
}, webRequest);
我希望它能有所帮助,即使是两个月后……AFAIK身份验证挑战是由服务器生成的,因此如果服务器不允许身份验证,则您的凭据将无法通过。