Отсутствуют учетные данные из запроса в заявке OOB - PullRequest
1 голос
/ 24 февраля 2011

Я пишу простое приложение Silverlight, в котором у меня есть следующий код, который я считаю довольно стандартным:

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 ..."?

1 Ответ

0 голосов
/ 22 апреля 2011

Попробуйте что-нибудь подобное.

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

Надеюсь, это поможет, даже через 2 месяца ...

...