Search code examples
c#.netwindows-phonereturnwebclient

Return value of UploadStringAsync().?


My question is correct or incorrect I don't know, but I would like to know if is it possible to return the value of UploadStringAsync() of post methods using WebClient?

    string serviceURL = REST_URI + servicePath;
    Uri URI = new Uri(serviceURL);
    System.Net.WebClient webClient = new WebClient();
    webClient.Headers["ContentType"] = "application/json";
    webClient.Headers["Accept"] = "application/json";
    webClient.UploadStringCompleted += this.sendPostCompleted;
    webClient.UploadStringAsync(URI, HTTP_POST, result);
    return ??;

If we can return the value of UploadStringAsync(URI, HTTP_POST, result); please let me know?


Solution

  • You can use UploadStringCompleted event and get result in event handler. Once upload completes (failed or succeed) event is raised.

    Attach

    client.UploadStringCompleted 
                   += new UploadStringCompletedEventHandler (UploadStringCallback2);
    

    Use:

    void UploadStringCallback2(object sender, UploadStringCompletedEventArgs e)
    {
    //e.Result use it
    }
    

    If you want to return result of the upload you can wait for event to be raised like here using AutoResetEvent