Another very important concept is synchronization context. We will review synchronization context and other kinds of context in detail in the next chapter, but for now let's start with a demonstration. This sample is called IISSynchronizationContext. This time we need to host our application in an IIS web server, so we will use the Microsoft.Owin.Host.SystemWeb NuGet package, and create an empty ASP.NET application. First, we will configure our application and define a default route:
public class Startup { public void Configuration(IAppBuilder appBuilder) { var config = new HttpConfiguration(); config.Routes.MapHttpRoute( "DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional} ); appBuilder.UseWebApi(config); } }
Then we will create a controller with two methods. One of them tries to get asynchronous operation results synchronously, and the other uses await
and asynchronous execution:
public class HomeController...