Anatoly Lubarsky Logo
MSSQL, .NET, Design. Life and Music

How to Monitor Network Connectivity in .NET

There is a common problem with smart client applications that they need to implement monitoring network connectivity. Common scenario - if the computer is connected - send data to the server, otherwise - serialize data to disk, then wait for network connectivity becomes available and when the network is available - send serialized data to the server in the background.


.NET 2.0 introduced System.Net.NetworkInformation with NetworkAvailabilityChanged event, so there is no need to reinvent network monitor behavior by hand any more :)


Use the right namespace :)


using System.Net.NetworkInformation;

Now it is possible to check connectivity on demand...


bool connected = NetworkInterface.GetIsNetworkAvailable();

Or subscribe to event in some place....


NetworkChange.NetworkAvailabilityChanged += OnAvaiabilityChanged;

Implement like so:


private void OnAvaiabilityChanged(object sender, 
    NetworkAvailabilityEventArgs args)
{
    this.UpdateStatus(args.IsAvailable);
}

private void UpdateStatus(bool connected)
{
    if (connected)
    {
        ...
    }
    else
    {
        ...
    }
}

Enjoy :)


Related Posts:

Friday, June 08, 2007 8:07 PM

Comments

# Interesting Finds: June 9, 2007

6/9/2007 10:12 AM by Jason Haley

# On en apprend tous les jours : NetworkChange.NetworkAvailabilityChanged et NetworkInterface
Dans la série " on en apprend tous les jours " : la classe NetworkChange , encore une dont je n'avais

6/9/2007 4:46 PM by CoqBlog



Login

Fosimo
Get Fosimo on CNET Download.com!
Fosimo.TR
Get Fosimo.TR from CNET Download.com!
Subscribe via RSS

Article Categories

.Net Framework
ASP.NET Tips
C# Win32 API
HTML, CSS, Web
Javascript Tips
MSSQL Tips
System
System.Net
WebServices

Archives

(01) June, 2010
(01) May, 2010
(02) March, 2010
(01) January, 2010
(02) December, 2009
(03) September, 2009
(03) August, 2009
(09) July, 2009
(04) June, 2009
(04) May, 2009
(02) April, 2009
(05) March, 2009
(03) February, 2009
(03) January, 2009
(06) December, 2008
(04) November, 2008
(06) October, 2008
(07) September, 2008
(09) August, 2008
(05) July, 2008
(05) June, 2008
(07) May, 2008
(06) April, 2008
(03) March, 2008
(02) February, 2008
(04) January, 2008
(03) December, 2007
(05) November, 2007
(06) October, 2007
(07) September, 2007
(13) August, 2007
(11) July, 2007
(14) June, 2007
(16) May, 2007
(14) April, 2007
(10) March, 2007
(17) February, 2007
(21) January, 2007
(17) December, 2006
(14) November, 2006
(13) October, 2006
(13) September, 2006
(14) August, 2006
(12) July, 2006
(11) June, 2006
(12) May, 2006
(22) April, 2006
(36) March, 2006
(14) February, 2006
(14) January, 2006
(20) December, 2005
(17) November, 2005
(17) October, 2005
(17) September, 2005
(14) August, 2005
(18) July, 2005
(12) June, 2005
(17) May, 2005
(13) April, 2005
(22) March, 2005
(12) February, 2005
(14) January, 2005
(19) December, 2004
(15) November, 2004
(13) October, 2004
(16) September, 2004
(12) August, 2004
(29) July, 2004
(25) June, 2004
(33) May, 2004
(26) April, 2004
(18) March, 2004
(11) February, 2004
(07) January, 2004
(03) December, 2003
(02) November, 2003

Post Categories

.Net and C#
Antispam
App. Development
Architecture
ASP.NET
Blogging
del.icio.us
Fosimo
Fun
Google
Javascript
Misc.
MSSQL
Music
Performance
Roller
Social Networks
Tools
Visual Studio
Web 2.0
WebServices
Yahoo

About Me

linkedin Profile
Recs
Recs Books
Who am I

My Sites

onecone
x2line blogs