#define RDG13 // RDG13 RDG13F
#if NEVER
#elif RDG13
//
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKeyedSingleton("fizz");
var app = builder.Build();
app.MapGet("/fizz", ([FromKeyedServices("fizz")][FromServices] IService service) =>
{
return Results.Ok(service.Echo());
});
app.Run();
//
public interface IService
{
string Echo();
}
public class FizzService : IService
{
public string Echo()
{
return "Fizz";
}
}
#elif RDG13F
//
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKeyedSingleton("fizz");
builder.Services.AddKeyedSingleton("buzz");
builder.Services.AddSingleton();
var app = builder.Build();
app.MapGet("/fizz", ([FromKeyedServices("fizz")] IService service) =>
{
return Results.Ok(service.Echo());
});
app.MapGet("/buzz", ([FromKeyedServices("buzz")] IService service) =>
{
return Results.Ok(service.Echo());
});
app.MapGet("/fizzbuzz", ([FromServices] IService service) =>
{
return Results.Ok(service.Echo());
});
app.Run();
public interface IService
{
string Echo();
}
public class FizzService : IService
{
public string Echo() => "Fizz";
}
public class BuzzService : IService
{
public string Echo() => "Buzz";
}
public class FizzBuzzService : IService
{
public string Echo()
{
return "FizzBuzz";
}
}
//
#endif