843 messaggi dal 08 aprile 2009
Ho un programma (windows form) che parte in process icon.
Questo programma deve partire in automatico quando il server viene riavviato anche se l'utente non fa login.
Nel setup di installazione ho messo l'output primario sotto la radice "User's Program Menu -> Programs -> Startup" ma non sempre funziona.
Vorrei sapere se qualcuno conosce il metodo più appropriato.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Laura,


il server viene riavviato anche se l'utente non fa login.

Purtroppo se l'utente non ha fatto il login, non esisterà alcun desktop su cui lanciare la tua applicazione desktop.

Credo che dovresti scorporare dalla tua applicazione la parte che deve girare in background e la metti in una nuova applicazione console da far girare come servizio per Windows. Puoi usare TopShelf per questo. Qui una guida.
https://topshelf.readthedocs.io/en/latest/configuration/quickstart.html

L'applicazione Winforms, invece, partirà solo quando l'utente la avvia manualmente. Diventerà una sorta di frontend che consentirà all'utente sia di visualizzare i dati macinati dal servizio per windows e sia per mandargli comandi.
La comunicazione tra il servizio per windows e l'applicazione Winforms la puoi realizzare con un servizio WCF (anche duplex, se vuoi che il servizio per windows possa fare push di dati verso l'applicazione Winforms).

ciao,
Moreno
Modificato da BrightSoul il 05 settembre 2019 20:39 -

Enjoy learning and just keep making
843 messaggi dal 08 aprile 2009
Grazie Moreno per la risposta.
Credo che a questo punto rivedremo un pò tutto in quanto si tratta di parti di applicazioni web che devono girare in background a orari schedulati. Visto che stiamo riscrivendo un pò tutto e ci stiamo adoperando per portare tutto su Aspnet Core 3.0, credo che scriverò tutta questa parte direttamente qui (Worker) e tramite una pagina web controllare il log delle operazioni svolte.

Ho letto il tuo articolo :)

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.