The await keyword is syntactical shorthand for indicating that a piece of code should asynchronously wait on some other piece of code.
The async keyword represents a hint that you can use to mark methods as task-based asynchronous methods.
The combination of await, async, and the Task object makes it much easier for you to write asynchronous code in .NET 4.5.