Skip to content

Commit

Permalink
Use ActivatorUtilities.GetServiceOrCreateInstance for TaskActivity in…
Browse files Browse the repository at this point in the history
… Azure Functions (#105)
  • Loading branch information
jviau authored Jan 9, 2023
1 parent acebb3a commit c38ca9f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## v1.0.0

- Durable Functions class-based syntax now resolves `ITaskActivity` instances from `IServiceProvider`, if available there.

## v1.0.0-rc.1

### Included Packages
Expand Down
2 changes: 1 addition & 1 deletion src/Generators/DurableTaskSourceGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static void AddActivityFunctionDeclaration(StringBuilder sourceBuilder, DurableT
[Function(nameof({activity.TaskName}))]
public static async Task<{activity.OutputType}> {activity.TaskName}([ActivityTrigger] {activity.InputParameter}, string instanceId, FunctionContext executionContext)
{{
ITaskActivity activity = ActivatorUtilities.CreateInstance<{activity.TypeName}>(executionContext.InstanceServices);
ITaskActivity activity = ActivatorUtilities.GetServiceOrCreateInstance<{activity.TypeName}>(executionContext.InstanceServices);
TaskActivityContext context = new GeneratedActivityContext(""{activity.TaskName}"", instanceId);
object? result = await activity.RunAsync(context, input);
return ({activity.OutputType})result!;
Expand Down

0 comments on commit c38ca9f

Please sign in to comment.