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