public async Task Handle(GenerateScreenshotMessage message, CancellationToken cancellationToken) { if (message == null) { throw new ArgumentNullException(nameof(message)); } Console.WriteLine($"Generating screenshot from URL {message.Url}"); using (var driver = _webDriverFactory.Create()) { driver.Navigate().GoToUrl(message.Url); var screenshot = (driver as ITakesScreenshot).GetScreenshot(); await _saveScreenshotCommand.Execute(CreateScreenshot(message, screenshot.AsByteArray), cancellationToken); } }