Anonimo
Accesso non effettuato
discussioni
contributi
registrati
entra
Webmobili Wiki
Ricerca
Modifica di
Designbest Core Sviluppo
(sezione)
Da Webmobili Wiki.
Namespace
Pagina
Discussione
Altro
Altro
Azioni sulla pagina
Leggi
Modifica
Cronologia
Attenzione:
non hai effettuato l'accesso. Se effettuerai delle modifiche il tuo indirizzo IP sarà visibile pubblicamente. Se
accedi
o
crei un'utenza
, le tue modifiche saranno attribuite al tuo nome utente, insieme ad altri benefici.
Controllo anti-spam.
NON
riempirlo!
=== Program.cs === Nel file <code>Program.cs</code> pregenerato aggiungere i seguenti concetti ==== Sessione ==== In un progetto Net.Core la sessione parte disabilitata.<br/> Per '''iniettare la sessione''' è necessario '''attivare un gestore della cache''' integrato (<code>IDistributedCache</code>) '''e la sessione''' stessa con le sue opzioni di configurazione come da esempio <syntaxhighlight lang="c#"> builder.Services.AddDistributedMemoryCache(); //L'implementazione IDistributedCache viene usata come archivio di backup per la sessione builder.Services.AddSession(options => { //options.IdleTimeout = TimeSpan.FromSeconds(10); // default 20 minuti //options.Cookie.HttpOnly = true; // default true options.Cookie.Name = ".Designbest.Session"; // nome del cookie di sessione options.Cookie.IsEssential = true; }); </syntaxhighlight> Dopodiché è necessario attivarla inserendo <code>app.UseSession()</code>:<br/> L' '''ordine del middleware è importante'''.<br/> Chiamare <code>UseSession</code> dopo e <code>UseRouting</code> prima di <code>MapRazorPages</code> e <code>MapDefaultControllerRoute</code> <syntaxhighlight lang="c#"> // ... app.UseAuthorization(); app.UseSession(); // attivazione sessione app.MapRazorPages(); app.Run(); </syntaxhighlight> ==== HttpContextAccessor e HttpClient ==== Abilitare questi servizi * <code>HttpContextAccessor </code> permette di accedere all' '''HttpContext''' da qualsiasi classe. * <code>HttpClient</code> permette di fare request. <syntaxhighlight lang="c#"> builder.Services.AddHttpContextAccessor(); // per avere l'oggetto IHttpContextAccessor nelle classi builder.Services.AddHttpClient(); // per avere l'oggetto IHttpClientFactory nelle classi </syntaxhighlight> ==== Services/Dipendenze ==== Implementare tutti i servizi bene separati utilizzando il '''pattern Interfaccia-Implementazione'''.<br/> Per abilitarli nel progetto, segnalare ''interfaccia'' e ''implementazione'' come segue: <syntaxhighlight lang="c#"> builder.Services.AddScoped<IDesignbestContext, DesignbestContext>(); builder.Services.AddScoped<IGeolocalization, MaxMindGeolocalization>(); </syntaxhighlight> Ci sono 3 diverse '''durate del servizio''' * '''Temporaneo''' <code>builder.Services.AddTransient(..)</code> <br/> istanza normale che muore alla fine dello scope della funzione in cui viene chiamata * '''Con Ambito''' <code>builder.Services.AddScoped(..)</code> <br/> viene utilizzata la stessa istanza per tutta la durata della richiesta utente * '''Singleton''' <code>builder.Services.AddSingleton(...)</code> <br/> viene utilizzata la stessa istanza finche IIS non viene stoppato
Oggetto:
Per favore tieni presente che tutti i contributi a Webmobili Wiki possono essere modificati, stravolti o cancellati da altri contributori. Se non vuoi che i tuoi testi possano essere alterati, allora non inserirli.
Inviando il testo dichiari inoltre, sotto tua responsabilità, che è stato scritto da te personalmente oppure è stato copiato da una fonte di pubblico dominio o similarmente libera (vedi
Webmobili Wiki:Copyright
per maggiori dettagli).
Non inviare materiale protetto da copyright senza autorizzazione!
Annulla
Guida
(si apre in una nuova finestra)
Navigazione
Navigazione
Pagina principale
Ultime modifiche
Una pagina a caso
Aiuto su MediaWiki
Pagine speciali
Strumenti wiki
Strumenti wiki
Strumenti pagine
Strumenti pagine
Strumenti pagina utente
Altro
Puntano qui
Modifiche correlate
Informazioni pagina
Registri della pagina