Unobserved task exception bugfix #254
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes issue #253
When calling
SqlTableDependency<T>.Stop()method anUnobservedTaskExceptionevent is raised, which is not supposed to happen as an application withThrowUnobservedTaskExceptionsset totruewould crash when this happens.This PR removes the redundant call to
.WithException(cancellationToken)inside theSqlTableDependency<T>.WaitForNotificationsmethod. It is not needed because thecancellationTokenis already passed to thesqlCommand.ExecuteReaderAsyncmethod. When.WithException(cancellationToken)is called and theStop()method requests a cancellation then the internal task returned from thesqlCommand.ExecuteReaderAsyncis not awaited at all (because the internal task created within.WithException(cancellationToken)executes (fails due to cancellation) first.A test case is also included.