24. august 2006 - 00:26Der er
10 kommentarer og 1 løsning
Er min applikation forbundet til nettet?
Hej,
Jeg er i gang med at udvikle en Windows klient, som mere eller mindre hele tiden har behov for at læse eller skrive til en online Sql server.
Jeg kunne godt tænke mig at programmet selv hele tiden (okay så måske hvert 30. sekund) tjekkede om der stadig er forbindelse til internettet, sådan at jeg evt. kan give brugeren besked om at han/hun skal tjekke sin netværksforbindelse?
Hvordan lader sådan noget sig bedst gøre? Er det bare at bruge Ping klassen, og så skyde pakker afsted efter et site som man satser på er oppe, og så vente på responsen, eller er der en smartere måde??
Og sidst men ikke mindst...er det overhovedet besværet værd?? Er løsningen istedet bare grundig exception handling, der forklarer brugeren hvorfor den ønskede handling gik galt?
Jeg ville helt klart vælge at catche en Exception hvis der ikke kan forbindes til SQL serveren ..... og så måske derefter lave mere debug hvis bruger er i tvivl om hvorfor der ikke kan ... så kunne man jo teste ved at pinge nogle online sites, og hvis det så også mislykkes så give endnu bedre besked ...
1) Catch Exception 2) og måske find ud af hvad der gik galt, og giv brugeren god besked om hvad der måske kan være galt ....
Det er også sådan jeg gør nu...fik bare den ide at det måske var meget smart at der var et ikon i statusbaren som lyste grønt/rødt alt efter status..men det er måske egentlig nu jeg tænker mere over det også bare en smart gimmick end en nødvendig feature...
Men hvis det er den sammen connection den hele tiden bruger, kan du jo skrive status for connectionen hvis du altså ikke lukker den ........ så kan du jo nemt få din lille grønne lampe ... og så hvis den endelig skulle lukke ned, så bare connecte igen ... lyder som om du bruger den sql nogle gange, og så ville jeg ikke lukke og åbne hele tiden, men bruge den samme sql connection klasse igen og igen ....
Jeg åbner og lukker mange gange...RIGTIG mange gange. Men så vidt jeg har forstået opbygningen af .NET's connection pool, er det også det man bør gøre. Altså åbne, udføre arbejde, lukke.
Hvis jeg skal komme med et kvalificeret gæt, vil jeg skyde på at en alm. session i mit program, på måske 10-15 minutter vil resultere i rundt regnet 100 åbn/luk.
Det er et højt tal, og et tal jeg er i gang med at minimere ved at lave åbenlyse forbedringer i mine kode..
hmmm, lyder mærkeligt hvis det ikke giver dårligere performance at åbne og lukke så mange gange, men der skal nok en anden på banen for at kunne svare på det spm .... for så tror jeg da også der er noget af min kode som kan laves bedre .... :-)
Det er jo meget sjov læsning, og får mig til at tænke på man kunne lave noget om mange steder ..... men hvem holder så reelt styr på hvornår en connection til databasen skal lukkes, hvis Close bare smider den tilbage i poolen? og hvis man så bruger 2 på samme tid går jeg ud fra at der bliver oprettet en ny...... altså 2 samtidige .... tænke tænke
Lidt træls man skal være member for at læse den Artikel han har det fra .....
Ja, men det er først for nyligt at det er blevet en betalingsartikel. Jeg er næsten helt sikker på at jeg har den liggende på min desktopmaskine et sted. Jeg skal lige se om jeg kan finde den til dig..
Jeg har fundet den, kan du ikke lige maile mig på peter@dotpeter.dk
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.