Играя с AngleSharp, я столкнулся с поведением async/await, которое Могу отнести только к сборщику мусора.
Следующий код ничего не печатает, но отладчик утверждает, что document.Title
имеет значение Google
.
static async Task Main(string[] args)
{
var config = Configuration.Default.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://www.google.com/");
Console.WriteLine("Title: {0} ", document.Title);
}
Но если я сохраню свойство в переменной, оно будет работать так, как я ожидаю, печатая Title: Google
.
static async Task Main(string[] args)
{
var config = Configuration.Default.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://www.google.com/");
var title = document.Title;
Console.WriteLine("Title: {0} ", title);
}
Это правильный путь?
Main()
был ужеasync Task
, в отличие от метода проверкиvoid
обманщика. - person MickyD   schedule 27.11.2019using
решило проблему удобным способом. В чем причина, мне так и не ясно... - person gsscoder   schedule 29.11.2019