19. april 2009 - 11:46Der er
9 kommentarer og 2 løsninger
ASP.NET Webservice: Server program
Jeg har et server-program, som gerne skal køre hele tiden - da det f.eks. skal stå og hente data fra nogle servere og smide i en DB. Oven på dette program, skal der ligge en ASP.NET Webservice, så mine klienter kan hente disse data ud.
Hvis jeg laver en alm. webservice, som jeg plejer at gøre, vil jeg f.eks. oprette denne server hver gang og køre nogle metoder på den - men det er jeg ikke interesseret i her. Her skal den som sagt køre hele tiden.
Hvordan får jeg min webservice til at køre metoder på et program som kører?
Du opretter en tabel som du f.eks kan kalde 'SpoolJob' i den opretter du et felt der hedder JobID. Så lavet du et program der med mellemrum tjecker SpoolJob for at se om der er kommet nye 'Jobs' der skal køres.
Hvis dit program skal starte op uden at du skal logge på computeren og køre i baggrunden skal du oprette det som Windows Service, men dette er ikke sådan ligetil hvis du ikke har prøvet det før ellers kan du f.eks bare oprette en Console Application og selv starte det
Mit server-program kører som en Console Application. Men jeg er interesseret i, fra min ASP.NET WS at kunne kommunikere direkte med den server som kører i en Console Application.
Nu er det lange tiden siden. Men du skal se på noget med Socket eller WinSockets. Så skal du så kode og afkode dine data der kommer ind hvis du ikke kan finde en protocol til at gøre dette. Hvis du så skal have adgang til programmet fra internettet skal du forwarde nogle porte til dit program. Hvis dit program henter dataene asynkront kunne du ligeså godt have hentet det fra din database.
Du kan bare sætte dit program op til at tjecke med 30 sek. mellemrum eller mindre alt efter hvor langt tid jobbet taget at køre, der vil alligevel være en ventetid før det er færdigt.
Altså, der ingen grund til at drage Remoting ind den her problem stilling. Du kan blot bruge en WCF service som et lag ovenpå din database og den kan du hoste som en normal web service eller som en windows service. Det burde der ikke være nogen ben i :0)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.