Program.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. try
  2. {
  3. Console.WriteLine("INIT Traffic Progam.cs");
  4. // create web-app
  5. var builder = WebApplication.CreateBuilder(args);
  6. builder.Services.AddSingleton<ISpeedingViolationCalculator>(
  7. new DefaultSpeedingViolationCalculator("A12", 10, 100, 5));
  8. Console.WriteLine("Added ISpeedingViolationCalculator");
  9. builder.Services.AddSingleton<IVehicleStateRepository, DaprVehicleStateRepository>();
  10. Console.WriteLine("Added IVehicleStateRepository");
  11. var daprHttpPort = Environment.GetEnvironmentVariable("DAPR_HTTP_PORT") ?? "3600";
  12. var daprGrpcPort = Environment.GetEnvironmentVariable("DAPR_GRPC_PORT") ?? "60000";
  13. builder.Services.AddDaprClient(builder => builder
  14. .UseHttpEndpoint($"http://localhost:{daprHttpPort}")
  15. .UseGrpcEndpoint($"http://localhost:{daprGrpcPort}"));
  16. Console.WriteLine("Added DarpClient");
  17. builder.Services.AddControllers();
  18. builder.Services.AddActors(options =>
  19. {
  20. options.Actors.RegisterActor<VehicleActor>();
  21. });
  22. Console.WriteLine("Added Actors");
  23. var app = builder.Build();
  24. // configure web-app
  25. if (app.Environment.IsDevelopment())
  26. {
  27. app.UseDeveloperExceptionPage();
  28. }
  29. app.UseCloudEvents();
  30. // configure routing
  31. app.MapControllers();
  32. app.MapActorsHandlers();
  33. // let's go!
  34. app.Run();
  35. Console.WriteLine("App run");
  36. }
  37. catch (System.Exception ex)
  38. {
  39. Console.WriteLine($"ERROR: {ex.Message}");
  40. throw;
  41. }