-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
19 lines (15 loc) · 891 Bytes
/
Copy pathProgram.cs
File metadata and controls
19 lines (15 loc) · 891 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using DotPython.Samples.SessionCounter;
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection();
services.AddDotPythonManaged().AddDotPythonModule(SessionCounterModule.Registration);
await using var serviceProvider = services.BuildServiceProvider(
new ServiceProviderOptions { ValidateScopes = true }
);
await using var firstScope = serviceProvider.CreateAsyncScope();
var firstCounter = firstScope.ServiceProvider.GetRequiredService<ISessionCounterModule>();
var firstValue = await firstCounter.NextValueAsync();
var secondValue = await firstCounter.NextValueAsync();
await using var secondScope = serviceProvider.CreateAsyncScope();
var secondCounter = secondScope.ServiceProvider.GetRequiredService<ISessionCounterModule>();
var isolatedValue = await secondCounter.NextValueAsync();
Console.WriteLine($"{firstValue},{secondValue},{isolatedValue}");