Support Polymorphic input payload deserialization (isolated dotnet) #3250
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.
Fix #3182
This PR enables polymorphic deserialization of input payloads in the Durable Functions extension. In practical terms, it allows the system to accept inputs where the payload type isn’t known at compile time (or is one of several derived types) and properly deserialize them into the right concrete types rather than always using a base type or failing.
🧠 What the change addresses
Prior issue: Activities (especially in the isolated worker model) using e.g. Newtonsoft.Json or other serializers could not reliably handle input JSON that contained a type discriminator or represented a derived type of the declared parameter. This prevented polymorphic scenarios.
Issue describing the changes in this PR
resolves #issue_for_this_pr
Pull request checklist
pending_docs.mdrelease_notes.md/src/Worker.Extensions.DurableTask/AssemblyInfo.csdevandmainbranches and will not be merged into thev2.xbranch.