Skip to content

Commit 612f830

Browse files
committed
update dependencies and code generator for durable entities
1 parent 0d112a6 commit 612f830

File tree

5 files changed

+18
-55
lines changed

5 files changed

+18
-55
lines changed

README.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,7 @@ Now you can inject the `DurableTaskClient` into your classes to schedule or mana
5555

5656
### Durable Entities
5757

58-
To use durable entities, follow these steps:
59-
60-
1. **Manually register entities**: Add your entity to the `DurableTaskWorker` using `AddTasks()`. Note that automatic registration via `AddAllGeneratedTasks()` doesn't currently include entities (this will be addressed in a future version).
61-
62-
2. **Enable entity work item separation**: Configure `UseSeparateQueueForEntityWorkItems = true` in your `OrchestrationService` settings.
58+
To use durable entities, **Enable entity work item separation** by setting `UseSeparateQueueForEntityWorkItems = true` in your `OrchestrationService`.
6359

6460
```csharp
6561

@@ -70,15 +66,11 @@ var orchestrationServiceAndClient = new AzureStorageOrchestrationService(new()
7066
UseSeparateQueueForEntityWorkItems = true
7167
});
7268

73-
// Register the worker with manual entity registration
69+
// Register the worker and tasks
7470
builder.Services.AddDurableTaskWorker(builder =>
7571
{
7672
builder
77-
.AddTasks(r =>
78-
{
79-
r.AddAllGeneratedTasks();
80-
r.AddTask<MyCounterEntity>(); // Manually add your entity
81-
})
73+
.AddTasks(r => r.AddAllGeneratedTasks())
8274
.UseSelfHosted();
8375
});
8476

samples/WebAPI/BurgerApi.cs

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,7 @@ public static void MapBurgerApi(this IEndpointRouteBuilder endpoints)
3939
}
4040
}
4141

42-
public class GrillBurgerInput(string patty, string bun)
43-
{
44-
public string Patty { get; } = patty;
45-
public string Bun { get; } = bun;
46-
}
42+
public record GrillBurgerInput(string Patty, string Bun);
4743

4844
[DurableTask]
4945
internal sealed class GrillBurgerOrchestrator : TaskOrchestrator<GrillBurgerInput, string>
@@ -77,60 +73,40 @@ await context.Entities.SignalEntityAsync(
7773
}
7874

7975
[DurableTask]
80-
internal sealed class GrillPattyActivity : TaskActivity<string, string>
76+
internal sealed class GrillPattyActivity(ILogger<GrillPattyActivity> logger) : TaskActivity<string, string>
8177
{
82-
private readonly ILogger<GrillPattyActivity> _logger;
83-
84-
public GrillPattyActivity(ILogger<GrillPattyActivity> logger)
85-
{
86-
_logger = logger;
87-
}
88-
8978
public override async Task<string> RunAsync(
9079
TaskActivityContext context,
9180
string patty)
9281
{
93-
_logger.LogInformation("Grilling patty...");
82+
logger.LogInformation("Grilling patty...");
9483
await Task.Delay(TimeSpan.FromSeconds(3)); // Simulate grilling time
9584
return $"{patty} (Grilled)";
9685
}
9786
}
9887

9988
[DurableTask]
100-
internal sealed class ToastBunActivity : TaskActivity<string, string>
89+
internal sealed class ToastBunActivity(ILogger<ToastBunActivity> logger) : TaskActivity<string, string>
10190
{
102-
private readonly ILogger<ToastBunActivity> _logger;
103-
104-
public ToastBunActivity(ILogger<ToastBunActivity> logger)
105-
{
106-
_logger = logger;
107-
}
108-
10991
public override async Task<string> RunAsync(
11092
TaskActivityContext context,
11193
string bun)
11294
{
113-
_logger.LogInformation("Toasting bun...");
95+
logger.LogInformation("Toasting bun...");
11496
await Task.Delay(TimeSpan.FromSeconds(1)); // Simulate toasting time
11597
return $"{bun} (Toasted)";
11698
}
11799
}
118100

119101
[DurableTask]
120-
internal sealed class AssembleBurgerActivity : TaskActivity<IEnumerable<string>, string>
102+
internal sealed class AssembleBurgerActivity(ILogger<AssembleBurgerActivity> logger)
103+
: TaskActivity<IEnumerable<string>, string>
121104
{
122-
private readonly ILogger<AssembleBurgerActivity> _logger;
123-
124-
public AssembleBurgerActivity(ILogger<AssembleBurgerActivity> logger)
125-
{
126-
_logger = logger;
127-
}
128-
129105
public override async Task<string> RunAsync(
130106
TaskActivityContext context,
131107
IEnumerable<string> inputs)
132108
{
133-
_logger.LogInformation("Assembling burger...");
109+
logger.LogInformation("Assembling burger...");
134110
await Task.Delay(TimeSpan.FromSeconds(1)); // Simulate assembly time
135111
return $"Burger with {string.Join(',', inputs)}";
136112
}

samples/WebAPI/Program.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,7 @@
2323
builder.Services.AddDurableTaskWorker(builder =>
2424
{
2525
builder
26-
.AddTasks(r =>
27-
{
28-
r.AddAllGeneratedTasks();
29-
r.AddEntity<BurgerEntity>();
30-
}
31-
)
26+
.AddTasks(r => r.AddAllGeneratedTasks())
3227
.UseSelfHosted();
3328
});
3429

samples/WebAPI/WebAPI.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.DurableTask.Generators" Version="1.0.0-preview.1" OutputItemType="Analyzer"/>
11-
<PackageReference Include="Microsoft.Azure.DurableTask.AzureStorage" Version="2.7.0"/>
10+
<PackageReference Include="Microsoft.DurableTask.Generators" Version="1.0.0" OutputItemType="Analyzer" />
11+
<PackageReference Include="Microsoft.Azure.DurableTask.AzureStorage" Version="2.7.1" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

src/DurableTask.AspNetCore.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<RepositoryUrl>https://github.com/PejmanNik/durabletask-dotnet-aspnet</RepositoryUrl>
1515
<PackageReadmeFile>README.md</PackageReadmeFile>
1616
<RepositoryType>git</RepositoryType>
17-
<Version>0.0.5</Version>
17+
<Version>0.0.6</Version>
1818
</PropertyGroup>
1919

2020
<ItemGroup>
@@ -25,9 +25,9 @@
2525
</ItemGroup>
2626

2727
<ItemGroup>
28-
<PackageReference Include="Microsoft.DurableTask.Client" Version="1.18.0" />
29-
<PackageReference Include="Microsoft.DurableTask.Client.Grpc" Version="1.18.0" />
30-
<PackageReference Include="Microsoft.DurableTask.Worker" Version="1.18.0" />
28+
<PackageReference Include="Microsoft.DurableTask.Client" Version="1.18.1" />
29+
<PackageReference Include="Microsoft.DurableTask.Client.Grpc" Version="1.18.1" />
30+
<PackageReference Include="Microsoft.DurableTask.Worker" Version="1.18.1" />
3131
</ItemGroup>
3232
<ItemGroup>
3333
<InternalsVisibleTo Include="DurableTask.AspNetCore.Tests" />

0 commit comments

Comments
 (0)