Task status :Waiting for activation -DownloadStringTaskAsync -WP8

async-await, asynchronous, c#, task, windows-phone-8

Solution

All my methods need to be async.

public class ServerFunctions
{
    public static async Task<List<BdeskDocLib>> GetDocLibs(bool onlyDocLibPerso)
    {
        string xmlContent = await GetXml();
        List<BdeskDocLib> result = BdeskDocLib.GetListFromXml(xmlContent,  onlyDocLibPerso);
        return result;
    }

   private async static Task<String> GetXml()
    {  
        Task<String>task=requesteur.Query(dataRequestParam);
        task.Wait();
        xmlResult = task.Result;
        return xmlResult;
    }
}

Problem

The status of task is always "Waiting for activation".The Result of the task ="". i dont understand why...Thanks for your help The UI calls the GetDocLibs method. ``` public class ServerFunctions { public static List<BdeskDocLib> GetDocLibs(bool onlyDocLibPerso) { string xmlContent = GetXml(); List<BdeskDocLib> result = BdeskDocLib.GetListFromXml(xmlContent, onlyDocLibPerso); return result; } private static String GetXml() { Task<String>task=requesteur.Query(dataRequestParam); task.Wait(); xmlResult = task.Result; return xmlResult; } } public class DataRequest { public Task<String> Query(DataRequestParam dataRequestParam) { try { WebClient web = new WebClient(); if (!string.IsNullOrEmpty(dataRequestParam.AuthentificationLogin)) { System.Net.NetworkCredential account = new NetworkCredential(dataRequestParam.AuthentificationLogin, dataRequestParam.AuthentificationPassword); web.Credentials = account; } return web.DownloadStringTaskAsync(dataRequestParam.TargetUri).ConfigureAwait(false); } catch(WebException we) { MessageBox.Show(we.Message); return null; } } } ```

Original source