Prevent exceptions during LifetimeScope resolution in AutofacProcessorFactory #23
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.
If the Dependency Resolver for a given integration (MVC, WebAPI) is configured for the solution, the AutofacProcessorFactory will attempt to resolve child lifetime scopes from those integrations before falling back to the root container. This functionality is necessary in order to support tagged lifetime scope resolution, such as PerRequest.
However, in the above scenario, if an integration's LifetimeScopeProvider (ex. MvcLifetimeScopeProvider) throws during resolution of the inner lifetime scope, this exception will bubble up and break the AutofacProcessorFactory.
This pull request proposes catching all such exceptions from integrated LifetimeScopeProviders, and falling back to the root Container.