.NET Tips and Tricks

Blog archive

The Simplest Way to Create an Asynchronous Method

You like the idea of using await and async to execute asynchronous methods, and you've got a method that you'd like to turn into an asynchronous method ... but you haven't called any native asynchronous methods within your method and you're not sure what to do to make your method "awaitable." There is an easy solution: Pass the result of your method to the Task object's static FromResult method, which will load the Task object's Result property (which, really, is what all that async/await processing depends on).

Here's an example of some code that creates a Customer object:

public Customer GetCustomer()
{
   Customer cust;
   cust = new Customer {Id = 1, FirstName = "Peter", LastName = "Vogel"};
   return cust;
}

Here's the same method, in an asynchronous version, taking advantage of the FromResult method:

public Task<Customer> GetCustomer()
{
  Customer cust;
  cust = new Customer { Id = 1 };
  return Task.FromResult<Customer>(cust);
}

You can now use the GetCustomer method like this:

public async Task<Customer> ProcessACustomer()
{
  Customer cust = await GetCustomer();
  //...do something with the Customer object asynchronously
  return cust;
}

Posted by Peter Vogel on 07/23/2018 at 8:30 AM


comments powered by Disqus

Featured

  • Entity Framework Core 6: What Developers Want

    Microsoft outlined its plan for Entity Framework Core 6, which in November will take its place as the data access component of the landmark .NET 6, a long-term support (LTS) release that will mark Microsoft's transition from the Windows-only .NET Framework to an open source, cross-platform umbrella offering of all things .NET.

  • AWS Open Sources .NET Porting Assistant GUI

    After previously open sourcing components of its Porting Assistant for .NET, Amazon Web Services open sourced the tool's GUI.

  • .NET Core Ranks High Among Frameworks in New Dev Survey

    .NET Core placed high in a web-dominated ranking of development frameworks published by CodinGame, which provides a tech hiring platform.

  • Here's a One-Stop Shop for .NET 5 Improvements

    Culled from reams of Microsoft documentation, here's a high-level summary of what's new for performance, networking, diagnostics and more, along with links to the nitty-gritty details for those wanting to dig in more.

Upcoming Events