[.NET CF] internetstatus controleren

Pagina: 1
Acties:

  • klaasopurk
  • Registratie: Februari 2004
  • Laatst online: 16-05 21:07
hallo,

Wat doe ik:

ik wil graag de internetstatus opvragen. hiervoor kwam ik de volgende functie tegen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[Flags]
    enum InternetConnectionState: int
    {
        INTERNET_CONNECTION_MODEM = 0x1,
        INTERNET_CONNECTION_LAN = 0x2,
        INTERNET_CONNECTION_PROXY = 0x4,
        INTERNET_RAS_INSTALLED = 0x10,
        INTERNET_CONNECTION_OFFLINE = 0x20,
        INTERNET_CONNECTION_CONFIGURED = 0x40
    }

        [DllImport("WININET", CharSet=CharSet.Auto)]
        static extern bool InternetGetConnectedState(
            ref InternetConnectionState lpdwFlags, 
            int dwReserved);

//aanroepen
InternetConnectionState lpdwFlags = 0;
            int dwReserved = 0;
            bool connected = false;
            connected = InternetGetConnectedState(ref lpdwFlags, dwReserved);


echter op de Pocket PC krijg ik altijd true terug.
dit klopt echter niet, want ik heb geen Internet connectie. Nu vraag ik me af of deze functie daar wel werkt. ik kan hier geen info voer vinden.

Waarom wil ik dat:

ik wil weten of een database gesysnchroniseerd moet worden met de database server. dit mag alleen als er een internet connectie is. het liefst wil ik als deze er niet is, dat er gevraagd wordt, hoe er connectie gemaakt moet worden (GPRS, bluetooth enz).

Vraag aan jullie:

Kent iemand voorbeelden of code om zoiets werkend te krijgen. Het nu zo dat de applicatie crasht en das niet goed.

Klaas


Verwijderd

Het simpelste is gewoon de connectie proberen op te zetten. Als er nog geen connectie is zou windows CE vanzelf moeten proberen de connectie tot stand te brengen via de methode die de gebruiker het beste vindt.

  • klaasopurk
  • Registratie: Februari 2004
  • Laatst online: 16-05 21:07
het beroerde is dat dit jammer genoeg niet werkt. ik heb een vermoeden van de database dezelfde functie gebruikt voor de de controle

ik heb een SQLCE database die af en toe gesynchroniseerd moet wroden. maar bij de aanroep database.synchronyse() verwacht deze een open connectie. er bestaat in de SQLCE api geen functie die dit kan controleren.

Klaas


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 16-05 16:35
Je kan er dan toch gewoon een:
try catch lus
omheen gooien ?

Of misschien mooier:
Een try catch lus om je connectie heen.
Je zal toch je connectie moeten openen, en vang je je probleem daar af.

[ Voor 53% gewijzigd door Remco op 14-01-2005 15:07 ]

The best thing about UDP jokes is that I don't care if you get them or not.


  • klaasopurk
  • Registratie: Februari 2004
  • Laatst online: 16-05 21:07
Remc0 schreef op vrijdag 14 januari 2005 @ 15:06:
Je kan er dan toch gewoon een:
try catch lus
omheen gooien ?

Of misschien mooier:
Een try catch lus om je connectie heen.
Je zal toch je connectie moeten openen, en vang je je probleem daar af.
dit had ik ook wel. maar het blijkt dat er bij de try-catch alleen mogelijk is met SQLException. echter hier komen meerdere errors op binnen. bijvoorbeeld de error dat de configuratie niet goed is, de database corrupt en nog een paar. ik kan dan niet opmaken welke fout ik heb. daarom wil ik dat ik dit van te voren kan weten. tevens ook om meldingen te geven of er connectie gemaakt moet worden via GPRS of zo.

Klaas


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Je kan toch in de Database class, waar Synchronize een method van is een propertie maken zoiets als, (bool)Connected?
klaasopurk schreef op vrijdag 14 januari 2005 @ 15:47:
[...]
dit had ik ook wel. maar het blijkt dat er bij de try-catch alleen mogelijk is met SQLException. echter hier komen meerdere errors op binnen. bijvoorbeeld de error dat de configuratie niet goed is, de database corrupt en nog een paar. ik kan dan niet opmaken welke fout ik heb. daarom wil ik dat ik dit van te voren kan weten.
Je kan bij het afvangen toch allen de SqlException afhandelen. Is er een anderen exception, dan moet je het ook anders afhandelen.

Een SettingsException bijvoorbeeld hoeft je bij dit probleem toch even niet naar te kijken.

[ Voor 75% gewijzigd door pjvandesande op 14-01-2005 16:27 ]


  • klaasopurk
  • Registratie: Februari 2004
  • Laatst online: 16-05 21:07
questa schreef op vrijdag 14 januari 2005 @ 16:23:
Je kan toch in de Database class, waar Synchronize een method van is een propertie maken zoiets als, (bool)Connected?


[...]


Je kan bij het afvangen toch allen de SqlException afhandelen. Is er een anderen exception, dan moet je het ook anders afhandelen.

Een SettingsException bijvoorbeeld hoeft je bij dit probleem toch even niet naar te kijken.
deze komen ook bij SQLexception binnen. anders kan je bij elke exceptie {} doen en specifieke code neerzetten. mar dat kan dus niet.
SQLExceptie omvat meer dan alleen maar geen connectie.

Klaas

Pagina: 1