Avatar billede peterfa Nybegynder
13. august 2007 - 21:38 Der er 8 kommentarer og
1 løsning

Brug af windows services fra asp.net

Hej

Jeg arbejder på et projekt hvor jeg skal importere, bearbejde og endeligt gemme data fra en række databaser og andre datakilder. Interfacet bliver en asp.net web app, og jeg har derfor hidtil set på at bruge en background thread til at udføre disse import opgaver. Problemerne med at at web app'en kan blive lukket har immidlertidigt  fået mig til at overveje om det ikke vil være bedre at anvende en windows service til dette formål.

Mit spørgsmål går derfor på i hvilken grad, og hvordan, det er muligt at kommunikere mellem en asp.net app og en windows service. Jeg har ved søgning her på eksperten fundet referencer til ServiceController objektet, men kan ikke umiddelbart se hvordan jeg derigennem kan løse opgaven. Den eneste metode til at udføre custom command er metoden ExecuteCommand, og den giver ikke mulighed for at overføre data.  Skal man i stedet ud i noget .net remoting (ikke noget jeg har stor forstand på, vil se på det herefter). Jeg bør vel til sidst nævne at jeg sandsynligvis max vil skulle udføre 1 "kald til servicen" for hvert request til web applikationen, og at resultatet af et sådant kald vil være en mindre mængde tabulært data.

Ser frem til at høre jeres input
Avatar billede kalp Novice
13. august 2007 - 23:39 #1
jeg har ikke selv gjort det, men ved man kan lave et remote object i sin windows service og på den måde få lov til at kalde metoder i den.
Avatar billede nielle Nybegynder
14. august 2007 - 07:34 #2
Hvis det skal høre fra et webhotel skal du nok ikke regne med at få lov til at installere en websercice der. Umiddelbart synes jeg mere at opgaven lyder til at skulle være et almindeligt Windows-program.
Avatar billede peterfa Nybegynder
14. august 2007 - 14:41 #3
Det skal ikke køres fra et webhotel, så der er rig mulighed for et installere en windows service. Remote object lyder som en sandsynlig måde det skal ske på, men har ikke lige kunne finde nogle eksempler. Google smider web-service svar efter mig når jeg søger =) Vil stadigt meget gerne høre fra nogen der har erfaring med at gøre noget lign dette.
Avatar billede arne_v Ekspert
14. august 2007 - 16:08 #4
Du lader din web service fungere som remoting server. Jeg vil tro at du kan bruge
ethvert remoting server eksempel som basis. Og din ASP.NET side fungerer saa
som remoting client.

At hoste en web service i en windows server paa en maskine der ogsaa koerer
IIS og ASP.NET vil vaere noget grumset.
Avatar billede peterfa Nybegynder
14. august 2007 - 17:39 #5
Hm jeg er lidt forvirret her. Det jeg snakkede om var en windows service, ikke en web-service. Som jeg forstår det, så lider .net web-services af samme problem som asp.net applikationer, nemlig at de kan blive "deaktiveret" når de ikke er i brug, og derfor ikke er så egnet til at eksekvere baggrunds/batch opgaver (opgaver der er dekoblet fra et bestemt request).

Jeg forstår hellere ikke helt din sidste sætning. Er en IIS ikke netop en forudsætning for at deploye en web-service?
Avatar billede peterfa Nybegynder
14. august 2007 - 18:00 #6
Jeg tror det er det her jeg skal havde fat i
http://msdn2.microsoft.com/en-us/library/aa302410.aspx
Avatar billede arne_v Ekspert
14. august 2007 - 18:52 #7
Jeg skrev forkert.

Du lader din windows service fungere ....
Avatar billede peterfa Nybegynder
19. august 2007 - 15:32 #8
kald smider du ikke lige et svar
Avatar billede kalp Novice
19. august 2007 - 15:37 #9
:)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester