Avatar billede superraider Nybegynder
06. februar 2008 - 16:52 Der er 6 kommentarer og
1 løsning

execute metode når applicationen startes.

Vil det være mulig at execute en given methode når en application startes uden at delay en ect request fra en user.

Det jeg gerne vil er: At checke op mod en database om der er nogle handlinger der skal udføres, uden at evt delay en enduser's request.
Foreksemple, hvis jeg ville lave et system der store nogle informationer i nogle komprimerede xml filer i en mappe på serveren. Og når så en bruger requester en given fil, så pakkes filen ud til brug, ville være meget simple. Og så når filen ikke har været i brug en uge måske, så komprimeres den igen.

Så man får en form for cache system. Men mangler som sagt lidt en måde at komprimere filerne igen ud fra en liste i databasen ect. Så tænkte om det ikke var mulig at lave noget med når en application startes uden om brugeren.

Andre ideer er velkommen også.

Ang komprimeringen, er der nogen der har nogen ide om hvorvidt hvilke metoder der er best egnet med asp.net, binary data? gzip eller andre forslag?
Avatar billede arne_v Ekspert
06. februar 2008 - 17:08 #1
global.asax og Application_Start var vel en mulighed.
Avatar billede superraider Nybegynder
06. februar 2008 - 17:21 #2
Har du nogen kommentare til selve ideen, lyder det helt ude i skoven? Og kan du uddybe en lille smute hvordan Application_Start virker? Er det bare så simple at så snart den første bruger besøger siden så startes den og når der ikke er nogen brugere på siden, så lukkes applicationen igen Application_Stop(gætter jeg) og så forsætter det ellers sådan?.

Og tilbage til ideen, hvis man havde en side hvor der altid var mindst en besøgene på siden, så den evt ikke stoppes og startes hvis det er forstået rigtig. Ville der så være en anden måde at gøre dette på.

Og det er ikke sådan at det some skal udføres fra application_start skal være færdig afviklet før den kan betjene den første brugers request?
Avatar billede superraider Nybegynder
06. februar 2008 - 17:21 #3
Og smid bare et svar også
Avatar billede arne_v Ekspert
06. februar 2008 - 17:43 #4
Jeg ville overveje alterantiverne:
- sende dem compressed til brugerne
- uncompresse on the fly naar de requestes (uncompress er normalt hurtigt)

Jeg mener at det er Application_End.

Hvis du ikke vil vente paa Application_Start saa skal den nok starte en traad.

Og et svar.
Avatar billede superraider Nybegynder
06. februar 2008 - 18:07 #5
XML filen skal indeholde en del information og det vil ofte være den samme fil mange brugere vil være interesseret i at se på samme tid. Det er ikke meningen at de skal download filen, xml filen holder bare den information som der skal genereres en side ud fra. Så tænkte at jeg kunne spare en del uncompress ved at kun lade den første bruger uncompress den og derefter lade den ligge en uge før den komprimeres igen.

Hvilket jeg så kan bygge videre på og bruge xlst og spare endnu flere resourcer da applicationen ikke skal holde en xml fil i hukommelsen pr bruger der er på siden.

Men er ikke 100% fastsluttet på det endnu, da det giver alle mulighed for bare at hente xslt filerne og bruge dem uden min tilladelse, hvor hvis jeg parser xml filen fra aplicationen og returner html. Så har de ikke denne mulighed. Men har ikke helt tænkt så meget over det endnu om hvorvid jeg vil lade folk bruge det gratis, i så fald synes jeg at hele ideen med xslt og komprimering lyder som en god implemation, da ikke så aktive xml filer ikke ligger og fylder.

Havde du nogen comments med på vejen ang komprimeringen, du har jo styr på det hele :)

Takker.
Avatar billede arne_v Ekspert
06. februar 2008 - 18:20 #6
.NET har indbygget support for GZIP og GZIP er vel naermest standard for komprimering
af enkelt filer.
Avatar billede superraider Nybegynder
06. februar 2008 - 18:31 #7
Oki. Læste noget om binary xml men fik ikke helt fat i det smarte med det. Bruger bare gzip fra .net

Takker for svarene igen.
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

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