Disambiguate NetheriteFactory constructor and rev version #401
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.
There are two
NetheriteProviderFactory
constructors:durabletask-netherite/src/DurableTask.Netherite.AzureFunctions/NetheriteProviderFactory.cs
Lines 51 to 109 in f3e5f26
We used the
ActivatorUtilitiesConstructor
to tell DI which constructor to choose. However, it seems that annotation isn't honored in .NET8: dotnet/runtime#95915.Due to some combination of this .NET8 change, and the Host for Flex Consumption using a new DI library, DF apps in Flex Consumption using bundles are now failing with the following exception:
This PR disambiguates the constructors by creating a new internal wrapper class,
UnambiguousNetheriteProviderFactory
, that re-exposes only the expected constructor, and registering it as the service provider forIDurabilityProviderFactory
. This is a workaround suggested by Fabio from the Host team.