Click here to Skip to main content
15,885,309 members
Home / Discussions / C#
   

C#

 
GeneralRe: Write Async Method Pin
Victor Nijegorodov27-Jan-21 22:35
Victor Nijegorodov27-Jan-21 22:35 
GeneralRe: Write Async Method Pin
Gerry Schmitz28-Jan-21 14:57
mveGerry Schmitz28-Jan-21 14:57 
AnswerRe: Write Async Method Pin
Richard Deeming27-Jan-21 21:46
mveRichard Deeming27-Jan-21 21:46 
GeneralRe: Write Async Method Pin
Kevin Marois28-Jan-21 6:27
professionalKevin Marois28-Jan-21 6:27 
GeneralRe: Write Async Method Pin
Kevin Marois28-Jan-21 7:53
professionalKevin Marois28-Jan-21 7:53 
GeneralRe: Write Async Method Pin
Richard Deeming28-Jan-21 22:10
mveRichard Deeming28-Jan-21 22:10 
GeneralRe: Write Async Method Pin
Kevin Marois29-Jan-21 9:12
professionalKevin Marois29-Jan-21 9:12 
GeneralRe: Write Async Method Pin
Richard Deeming31-Jan-21 22:05
mveRichard Deeming31-Jan-21 22:05 
The server method can return a Task, if it's doing work that can be executed asynchronously. For example, talking to a database, calling another API, or accessing the file system.

Whether or not the server method returns a Task, the calling client can use a Task to call the server. The network request will be the asynchronous part of the call; the client doesn't care how the server handles the request.

Eg:

Server:
C#
public int Foo()
{
    return 42;
}

public async Task<int> BarAsync()
{
    using (var connection = new SqlConnection("..."))
    using (var command = new SqlCommand("...", connection))
    {
        await connection.OpenAsync();
        object result = await command.ExecuteScalarAsync();
        return Convert.ToInt32(result);
    }
}
Client:
C#
private readonly HttpClient _client;

public async Task<int> FooAsync()
{
    using (var response = await _client.GetAsync("/api/foo"))
    {
        response.EnsureSuccessStatusCode();
        return await response.ReadAsAsync<int>();
    }
}

public async Task<int> BarAsync()
{
    using (var response = await _client.GetAsync("/api/bar"))
    {
        response.EnsureSuccessStatusCode();
        return await response.ReadAsAsync<int>();
    }
}




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: Write Async Method Pin
Kevin Marois31-Jan-21 22:36
professionalKevin Marois31-Jan-21 22:36 
GeneralRe: Write Async Method Pin
Richard Deeming1-Feb-21 0:02
mveRichard Deeming1-Feb-21 0:02 
GeneralRe: Write Async Method Pin
Kevin Marois1-Feb-21 8:36
professionalKevin Marois1-Feb-21 8:36 
GeneralRe: Write Async Method Pin
Richard Deeming1-Feb-21 21:20
mveRichard Deeming1-Feb-21 21:20 
QuestionHow to update members of a List using Linq? [Solved] Pin
Alex Dunlop26-Jan-21 23:54
Alex Dunlop26-Jan-21 23:54 
AnswerRe: How to update members of a List using Linq? Pin
OriginalGriff27-Jan-21 0:15
mveOriginalGriff27-Jan-21 0:15 
GeneralRe: How to update members of a List using Linq? Pin
Alex Dunlop27-Jan-21 2:15
Alex Dunlop27-Jan-21 2:15 
GeneralRe: How to update members of a List using Linq? Pin
OriginalGriff27-Jan-21 2:36
mveOriginalGriff27-Jan-21 2:36 
GeneralRe: How to update members of a List using Linq? Pin
Alex Dunlop27-Jan-21 3:04
Alex Dunlop27-Jan-21 3:04 
GeneralRe: How to update members of a List using Linq? Pin
Richard Deeming27-Jan-21 4:10
mveRichard Deeming27-Jan-21 4:10 
GeneralRe: How to update members of a List using Linq? Pin
Dave Kreskowiak27-Jan-21 7:06
mveDave Kreskowiak27-Jan-21 7:06 
QuestionProper event handling in docked window schema Pin
gizbernus26-Jan-21 9:16
gizbernus26-Jan-21 9:16 
Questionalias names for Column in Linq Pin
simpledeveloper25-Jan-21 8:28
simpledeveloper25-Jan-21 8:28 
AnswerRe: alias names for Column in Linq Pin
Gerry Schmitz25-Jan-21 10:18
mveGerry Schmitz25-Jan-21 10:18 
AnswerRe: alias names for Column in Linq Pin
Richard Deeming25-Jan-21 21:38
mveRichard Deeming25-Jan-21 21:38 
Questionhow to print POS bills with a thermal printer Pin
Meax24-Jan-21 8:53
Meax24-Jan-21 8:53 
AnswerRe: how to print POS bills with a thermal printer Pin
Daniel Pfeffer24-Jan-21 9:23
professionalDaniel Pfeffer24-Jan-21 9:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.