Click here to Skip to main content
15,884,836 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am trying to do an async operation in UploadBtnExecute method.I am working this on wpf. But it shows some error.

error are :-
error 1::-'Task UploadBtnExecute(object)' has the wrong return type

error 2::- 'bool' does not contain a definition for 'GetAwaiter' and no accessible extension method 'GetAwaiter' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?)

What I have tried:

button click event to trigger a function
C#
UploadBtnClick = new RelayCommands(UploadBtnExecute, UploadBtnCanExecuteUpload);


C#
public  async Task UploadBtnExecute(object param)
{
  Progress windowShow = new Progress();
            windowShow.Show();
            await  UploadFiles();
            windowShow.Hide();
}



C#
public bool UploadFiles(List<Item>  selectedFiles)
        {
//do some upload code here

return true;
}
Posted
Updated 23-Jan-21 21:58pm

See the DownloadFileAsync example here: Async and Await[^]
 
Share this answer
 

The problem here is that your UploadFiles method is not async and does not return a Task. If you are uploading from a file, you can use one of the asynchronous methods to accomplish that. Something like


C#
public async Task<bool> UploadFiles(List<Item> selectedFiles)
 {
     string filePath = @"c:\temp\Data.txt";
     using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
     using var streamReader = new StreamReader(fileStream);//uses default encoding UTF8
     string data = await streamReader.ReadToEndAsync();
     //do something
     return data.Contains("spam");
 }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900