50 messaggi dal 06 giugno 2002
Ciao a tutti, in un progetto web api .net core 7, nel file program.cs aggiungo la dipendenza al mio progetto DataLayer in questo modo
builder.Services.AddScoped<IDataLayer, DataLayer>(op =>
{
return new DataLayer(ConnSql);
});

Il DataLayer ha lo scopo di interfacciarsi con il database richiamato tipicamente dai Controller.
Il Datalayer utilizza anche IMemoryCache passata come injection per migliorare alcune estrazioni dati
public IMemoryCache _cache { get; set; } = default!;


Ora mi servirebbe nel file program.cs di usare immediatamente il DataLayer, sono riuscito a farlo in questo modo

IDataLayer dataLayer = builder.Services.BuildServiceProvider().GetService<IDataLayer>();
List<Role> dataRole = await dataLayer?.GetAllRoles();
List<string> Roles = dataRole.Select(x => x.RoleName).ToList();

ma a parte il warning su BuildServiceProvider(), la cache risulta null e va in errore. Posso bypassarlo per questa unica occasione, ma mi piacerebbe sapere se c'è un metodo più pulito, che mi consenta di usare al pieno il mio oggetto DataLayer all'interno della program.cs
e prima di questa parte

var app = builder.Build();

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.