Missing credential from request in OOB application

290 views Asked by At

I'm writing a simple Silverlight application in which I have the following code, which I think is pretty standard:

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);

Yet when I view the request in Fiddler, no credentials are added to the headers. What am I missing? Shouldn't there be an "Authorization: Basic ..." header in there?

1

There are 1 answers

0
Yann Gilliot On BEST ANSWER

Try with something like this.

        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);

I Hope it can help, even 2 months later...