1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public void AuthenticateAsync(IAccount account, object userState, AsyncCompletedCallback completedCallback)
{
... //déclarations ici
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(baseUrl);
req.Method = "GET";
req.Headers[HttpRequestHeader.Authorization] = "OAuth " + ret;
req.ContentLength = queryString.Length;
IAsyncResult result = req.BeginGetResponse(new AsyncCallback(GetResponseCallback), req);
//completedCallback(this, new AsyncCompletedEventArgs(null, false, userState)); c'est la méthode que je dois appeler pr valider le compte (impérativement ici :s)
}
private void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (RequestState)asynchronousResult.AsyncState;
// End the operation
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
authToken = OAuthToken.Parse(responseString); //je récupère le jeton (ca marche)
// Close the stream object
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse
response.Close();
//allDone.Set(); //rapport au manualresetevent (ne fonctionne pas)
} |
Partager