Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    VC++ 6.0 Come realizzare un "servizio su un server"

    Salve. Ho un'applicazione in VC++ 6.0. Questa dev'essere operante sul Server aziendale 24/24h. Anche se il server cade e poi riparte dovrebbe ripartire anche la mia applicazione.

    Mi è stato detto che il Server non vede le "applicazioni" ma opera in termini di "servizi".
    Qualcuno sa darmi le dritte per fare in modo che la mia applicazione *.exe venga vista o installata come servizio cosicchè sia sempre operante sul Server?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Per metterla come servizio aspetta Oregon o Andbin che loro sanno come si fa.

    Una "valida" alternativa sarebbe di fare il tuo programma normalmente e poi metterlo in esecuzione automatica.
    Certo, fare un servizio è piu' affascinante e difficile dal lato tecnico, ma potrebbe andare anche cosi :master:
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Sì, so come si fanno i "servizi di sistema" ... ma non è che li faccio tutti i giorni ...

    In sostanza, un servizio di sistema ha delle proprietà particolari tra cui la possibilità di avere privilegi anche più alti rispetto agli utenti e il fatto che viene avviato prima che compaia la finestra di login degli utenti.
    Tipicamente un servizio si occupa di effettuare operazioni in background, senza alcun interfacciamento diretto con l'utente (es. uno spooler di stampa, un server web, un servizio di rete, ecc...).

    Per realizzare un eseguibile che possa girare come servizio di sistema bisogna usare delle API apposite, poiché ci deve essere un interfacciamento tra l'eseguibile e il SCM (Service Control Manager). In pratica vuol dire che una applicazione deve essere pensata e scritta appositamente per poter funzionare come servizio.

    La documentazione ufficiale sui servizi si trova su MSDN:
    http://msdn2.microsoft.com/en-us/library/ms685141.aspx

    Purtroppo al momento non ho un sorgente di "base" per realizzare un servizio. Se riesco velocemente a scriverne uno, lo posto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Va be l'ho scritto perchè praticamente qui i boss siete voi 2
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non ho capito se hai i sorgenti dell'applicazione o solamente l'eseguibile ...

  6. #6
    Innanzitutto ringrazio per le risposte. Forse il mio problema è più semplice.

    Ho un'applicazione in vc++ 6.0 residente su un server che dev'essere sempre attiva.
    Se il server cade e riparte dovrebbe poter ripartire anche la mia applicazione automaticamente. Come fare?

    Io pensavo ci fosse fra le specifiche software di sistema del server una funzione tipo "Operazioni Predefinte" in cui mettere tutti link ad applicazioni o file da attivare automaticamente... Ma pare che non è così...

    Ogni ulteriore contributo è ben accetto...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non mi hai risposto ...

  8. #8
    Oregon è un *.exe. E' un eseguibile che dev'essere sempre attivo, sempre in esecuzione sul server aziendale...

    Io non sono uni sistemista, ma possibile che l'unica strada sia quella d'incapsulare il mio eseguibile in un servizio? Una cosa più immediata non c'è?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da IlViandante2960
    Oregon è un *.exe. E' un eseguibile che dev'essere sempre attivo, sempre in esecuzione sul server aziendale...
    Forse non hai letto la domanda .... te la rifaccio sperando di avere una risposta ...

    "Non ho capito se hai i sorgenti dell'applicazione o solamente l'eseguibile ..."

    Io non sono uni sistemista, ma possibile che l'unica strada sia quella d'incapsulare il mio eseguibile in un servizio? Una cosa più immediata non c'è?
    I servizi non li scrivono i sistemisti ma i programmatori ...

    Un'altra soluzione e' includere la tua applicazione nella cartella "Esecuzione Automatica" e impostare l' autologin con il server in modo che, anche se riavviato, venga comunque fatto un login e la tua applicazione parta ...

  10. #10
    Io non sono uni sistemista, ma possibile che l'unica strada sia quella d'incapsulare il mio eseguibile in un servizio? Una cosa più immediata non c'è?
    Non devi incapsulare nulla. L'exe è sempre lo stesso.
    Semplicemente, all'interno del codice, dovrai aggiungere dei richiami a delle funzioni di sistema che ti facciano partire tale eseguibile come "servizio" anzichè come un "comune" processo.
    La differenza sostanziale tra i due è che il primo parte in startup indipendentemente che un'utenza si sia gia loggata o meno, il che soddisfa appieno la tua esigenza di:

    > Anche se il server cade e poi riparte dovrebbe ripartire anche la mia applicazione.

    Se del programma in questione hai i sorgenti la domanda è pertinente ed IT (si lavora sul codice), altrimenti no (devi usare tool di terze parti con cui "servizierizzare" (o seviziare, a seconda dei gusti :P) l'eseguibile.)

    Saluti.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.