Outils pour utilisateurs

Outils du site


developpement:dotnet:msioc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
developpement:dotnet:msioc [2023/05/16 04:43] – [Bakcground Service] sgariepydeveloppement:dotnet:msioc [2023/06/19 18:43] (Version actuelle) – [Exemple] sgariepy
Ligne 135: Ligne 135:
 app.Services.GetService(typeof(CustomBackgroundService)); app.Services.GetService(typeof(CustomBackgroundService));
 </code> </code>
 +
 +==== Exemple ====
 +
 +
 +<code csharp>
 +protected override async Task ExecuteTask(CancellationToken cancellationToken)
 +{
 +
 +    while (!cancellationToken.IsCancellationRequested)
 +    {
 +        using (var scope = _serviceProvider.CreateScope())
 +        {
 +            var productService = scope.ServiceProvider.GetService<IProductService>();
 +        
 +        }
 +    }
 +}
 +</code>
 +
 +====== Exemple exécutable dans LinqPad 7 ======
 +
 +Language: C# Program, .NET 7.0
 +
 +<code csharp>
 +void Main()
 +{
 + string[] args = new string[0];
 +
 + using IHost host = Host.CreateDefaultBuilder(args)
 + .ConfigureServices((_, services) =>
 + services
 + .AddSingleton<ISimpleService, SimpleService>()
 + .AddSingleton<BasicService>()
 + )
 + .Build();
 +
 + using IServiceScope serviceScope = host.Services.CreateScope();
 + IServiceProvider provider = serviceScope.ServiceProvider;
 +
 + BasicService basicService = provider.GetService<BasicService>();
 +
 + // host.Run();
 +
 + Console.WriteLine("End of program");
 +}
 +
 +#region Services
 +
 +public class BasicService
 +{
 + private readonly ISimpleService _simpleService;
 +
 + public BasicService(
 + ISimpleService simpleService)
 + {
 + _simpleService = simpleService;
 +
 + SetupService();
 + }
 +
 +
 + private void SetupService()
 + {
 + _simpleService.SayHello();
 + }
 +}
 +
 +public interface ISimpleService {
 + public void SayHello();
 +}
 +
 +public class SimpleService: ISimpleService
 +{
 + private readonly ISimpleService _simpleService;
 +
 + public SimpleService() {}
 +
 + public void SayHello()
 + {
 + Console.WriteLine("Hello");
 + }
 +}
 +
 +#endregion
 +</code>
 + 
 +
 +
 +
 +
 +
 +
 +
  
  
  
  
developpement/dotnet/msioc.1684205029.txt.gz · Dernière modification : 2023/05/16 04:43 de sgariepy