13. august 2007 - 21:38Der 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.
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.
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.
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.
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?
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.