What's the difference between returning AsyncEnumerable with EnumeratorCancellation or looping WithCancellation
问题 I have the following method that reads a csv document from a http stream public async IAsyncEnumerable<Line> GetLines([EnumeratorCancellation] CancellationToken cancellationToken) { HttpResponseMessage response = GetResponse(); using var responseStream = await response.Content.ReadAsStreamAsync(); using var streamReader = new StreamReader(responseStream); using var csvReader = new CsvReader(streamReader); while (!cancellationToken.IsCancellationRequested && await csvReader.ReadAsync()) {