14. maj 2005 - 10:22Der er
13 kommentarer og 1 løsning
Starte en Form fra en windows service
Jeg sidder og skal lave en service til windows, jeg har lavet et projekt med en windows form, og i den har jeg lavet en serviceInstaller og en service, det ville ikke virke sammen, så jeg prøvede at starte servicen uden at starte formen, det virkede fint, så problemet lå i at jeg ikke kunne køre følgende kommando når servicen starter
Application.Run(new Form1());
Nu burde det jo være muligt at starte en form fra en service, men hvordan?
Skal man lave en hel ny exe fil? -Hvis ja, så bliver man nødt ti lat holde styr på om den bliver lukket da den skal genstartes af servicen.
Eller er der en anden kommando man kan benytte sig af?
Nu jeg kommer i tanke om det, så ved en forms main() stod der [STAThread], og det gjorde der ikke i servicens main(), det er ikke noget der har noget indflydelse vel?
Ps. jeg fjernede main fra formen, og anvendte servicens.
Hvorfor burde det være muligt at starte en form fra en service ?
Umiddelbart syne sjeg at det lyder som at du skal lave en seperat admin client og lade den connecte til service (socket eller remoting eller noget andet).
Nu ved jeg jo ikke skide meget om services, men jeg forestillede mig, at man kunne starte en form fra en service, hvis man skal have den til at køre hele tiden, lidt a'la en virus scanner, du kunne vel ikke ridse op hvordan man standard laver services, hvis du ved det?
Som Arne skriver, hvorfor burde det være muligt? Kender du andre windows services som starten en form op? Du må jo tænke på at services starter inden du logger på maskinen og derfor kan formen jo ikke vises før du logger på.... Men det giver i hvert fald 100% mening at man ikke kan, alt andet ville jo være mærkeligt, for så var der jo reelt ikke nogen forskel på services og win apps
Ja, men hvis man ikke skal have servicen til at genstarte clienten, så ved jeg ikke helt hvad man skal bruge servicen til, men det er så også min første service jeg prøver at lave
hvad skal man bruge en service til ? min formulering: man skal bruge en service hvis man har noget kode som skal kunne køre i baggrunden uden et vindue på skærmen
Ja, har indset hvad i mener nu, det var fordi jeg havde en forkert opfattelse af hvad en service egentlig var. Det var så ret skidt, da jeg har gået ud fra det, men hvad, man kan jo ikke vinde hver gang. Men tak for hjælpen det er rart at vide hvad en servic egentlig laver når man skal lave en :-) Du fortjener så svaret arne, tak for hjælpen begge to.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.