ciao, chiaramente bisogna capire cosa intendi per prodotto indipendente... indipendente dalla piattaforma? indipendente dalla configurazione manuale delle operazioni pianificate? indipendente dalle operazioni pianificate stesse?Originariamente inviato da jlocke2010
Ciao,codice:non hai un orario preciso (se lo vuoi alle 23:00 ad esempio, rischi che se il programma è stato avviato alle 10:59, il timer scatterà solo alle 23:59)
questo non si verifica in quanto viene verificata solo l'ora. Quindi anche le 23:59 danno un esito positivo sull'if.
E' vero sia lo spreco di risorse (ma qui bisogna vedere la tipologia di software) e sia il login. D'altra parte bisogna considerare anche la tipologia di utenza, se devi fornire un prodotto indipendente non è pensabile far utilizzare le operazioni pianificate. Come dire, bisogna sempre fare le opportune valutazioni![]()
per la prima : bisogna valutare la piattaforma (in caso di servizio di avvio)...
per la seconda : non sei legato alla configurazione manuale, esistono appositi oggetti per farlo da codice.
per la terza : come detto prima, dipende dalla piattaforma, se si tratta di windows e vuoi fare una cosa indipendente dalle operazioni pianificate e professionale, allora si deve creare un servizio di windows.
in ogni caso, ho paura che fare un sistema che ci si aspetti che lavori alle 23:00 e invece lavora alle 23:59, non è molto professionale, credo sia molto meglio scrivere qualche riga di codice in più per fornire un prodotto serio...
mi spiego meglio su quest'ultimo punto :
se sono le 10:59 e io avvio il programma (con il timer come dici tu ogni ora), il timer farà la sua prima chiamata alle 11:59, a questo punto, la variabile di confronto dell'orario corrisponderà alle 11 (DateTime.Now.Hour.ToString()) anche se sono praticamente le 12... quindi se io imposto l'orario alle 23:00, l'ultima chiamata del timer sarà alle 22:59 (quindi DateTime.Now.Hour.ToString() == 22) e la condizione sarà ancora a false... dovrò attendere la successiva chiamata (alle 23:59) per avere la condizione vera (DateTime.Now.Hour.ToString() == 23), traslando di fatto praticamente di un'ora (o poco meno) il lavoro che invece mi apettavo per le 23, e questo non è per nulla professionale.
poi è solo un consiglio... ognuno è libero di fare come crede.
![]()