Dove "inizializzare" una classe in asp .net core?

di il
6 risposte

Dove "inizializzare" una classe in asp .net core?

Ciao a tutti , ho provato ad inizializzare una classe che contiene un metodo che fà partire un timer ed il metodo funziona ma al momento istanzio la classe dentro il ConfigureServices in questo modo :
   
            services.AddMvc();
            TestTimerToConsole t = new TestTimerToConsole();
            t.StartTimer();
il codice funziona ma vorrei chiedere se il mio approccio è corretto o sarebbe meglio fare in altro modo , grazie , ciao

6 Risposte

  • Re: Dove "inizializzare" una classe in asp .net core?

    surfernet ha scritto:


    ho provato ad inizializzare una classe che contiene un metodo che fà partire un timer ed il metodo funziona ma al momento istanzio la classe dentro il ConfigureServices in questo modo [...] il codice funziona ma vorrei chiedere se il mio approccio è corretto o sarebbe meglio fare in altro modo
    Ma a cosa dovrebbe servire questa cosa?
    Magari descrivendo la situazione di contorno, è possibile capire meglio qual è la soluzione migliore.
  • Re: Dove "inizializzare" una classe in asp .net core?

    Grazie per aver risposto , l'evento del timer dovrebbe inviare un email caricandola da una tabella ,in quest'ultima vengono salvate le email da spedire ed il timer dovrebbe spedire sempre la più "vecchia" oppure non fare niente se le mail in tabella sono già state tutte spedite con successo (pensavo un bool in tabella) ,come si potrebbe evitare che un maleintenzionato si iscriva con migliaia di account diversi ,con diverse email ed ingolfi l'applicazione? grazie,ciao
  • Re: Dove "inizializzare" una classe in asp .net core?

    surfernet ha scritto:


    l'evento del timer dovrebbe inviare un email caricandola da una tabella ,in quest'ultima vengono salvate le email da spedire ed il timer dovrebbe spedire sempre la più "vecchia" oppure non fare niente se le mail in tabella sono già state tutte spedite con successo (pensavo un bool in tabella)
    Secondo me, una logica di questo tipo non dovrebbe proprio appartenere all'applicazione ASP.NET Core, ma essere delegata a un servizio esterno.

    surfernet ha scritto:


    come si potrebbe evitare che un maleintenzionato si iscriva con migliaia di account diversi ,con diverse email ed ingolfi l'applicazione?
    Se riesci a ricavare una sorta di fingerprint che consenta di individuare l'utente con precisione, è sufficiente salvarlo assieme ai dati di registrazione affinché si possa verificare se quell'impronta è già presente sul DB prima di accettarne un'altra.

    Ciao!
  • Re: Dove "inizializzare" una classe in asp .net core?

    "Se riesci a ricavare una sorta di fingerprint che consenta di individuare l'utente con precisione, è sufficiente salvarlo assieme ai dati di registrazione affinché si possa verificare se quell'impronta è già presente sul DB prima di accettarne un'altra."
    magari il numero di build del browser ma da solo non è sufficiente ,hai da consigliare altri elementi per identificare l'utente (in realtà se qualcuno facesse un attacco del genere probabilmente userebbe qualcosa di simile ad un WebClient e non ad un browser) ? ,grazie ,
  • Re: Dove "inizializzare" una classe in asp .net core?

    surfernet ha scritto:


    magari il numero di build del browser ma da solo non è sufficiente ,hai da consigliare altri elementi per identificare l'utente (in realtà se qualcuno facesse un attacco del genere probabilmente userebbe qualcosa di simile ad un WebClient e non ad un browser) ? ,grazie ,
    Come dato principale sicuramente puoi prendere l'indirizzo IP, poi lo User-Agent, poi non saprei che altro.

    Per subire un attacco del genere, così accurato, da IP diversi con client diversi che rappresentano tutti lo stesso utente, mi pare altamente improbabile che accada.

    Oltre magari a limitare il numero di registrazioni per un certo lasso di tempo in generale, potresti anche banalmente introdurre un captcha per ulteriore verifica.

    Ciao!
  • Re: Dove "inizializzare" una classe in asp .net core?

    Grazie degli ottimi consigli ,
Devi accedere o registrarti per scrivere nel forum
6 risposte