public void Consume(GetWebPage message) { var content = new WebPageContent { RequestStarted = "Request initiated on thread: " + Thread.CurrentThread.ManagedThreadId, }; var request = WebRequest.Create(message.Url); request.GetResponseAsync()(response => response.GetResponseStream().ReadToEndAsync()(html => { content.Html = html; content.ContentType = response.ContentType; content.RequestCompleted = "Request completed on thread: " + Thread.CurrentThread.ManagedThreadId; message.Reply(content); })); }