By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
458,079 Members | 1,347 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 458,079 IT Pros & Developers. It's quick & easy.

I need help on the best why to query network status

P: n/a
I am currently working on an app the will be a shell replacement. Part of the
goal is to list the current network status; basically I need to know if the
network card is plugged in. I am currently using WMI to query all adapters to
see if they have a connected status. The status is updated every 30minutes. I
noticed this is leaking memory. I am looking for suggestions. I am running
this on an asynchronous thread call with callbacks to a delegate.
Nov 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
30 minutes should be 30 seconds.

"Christopher C" wrote:
I am currently working on an app the will be a shell replacement. Part of the
goal is to list the current network status; basically I need to know if the
network card is plugged in. I am currently using WMI to query all adapters to
see if they have a connected status. The status is updated every 30minutes. I
noticed this is leaking memory. I am looking for suggestions. I am running
this on an asynchronous thread call with callbacks to a delegate.

Nov 17 '05 #2

P: n/a
Why do you think this is leaking memory? Because you see the number in
the task manager go up? If this is the case, that is the normal behavior
for .NET, and it is not leaking memory.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:39**********************************@microsof t.com...
I am currently working on an app the will be a shell replacement. Part of
the
goal is to list the current network status; basically I need to know if
the
network card is plugged in. I am currently using WMI to query all adapters
to
see if they have a connected status. The status is updated every
30minutes. I
noticed this is leaking memory. I am looking for suggestions. I am running
this on an asynchronous thread call with callbacks to a delegate.

Nov 17 '05 #3

P: n/a
After an hour the program goes from using 18 megs to 59 megs. After 8 hours
it states the progrmaing is using 100 megs and the sytem is so slow it is
unusable.

"Nicholas Paldino [.NET/C# MVP]" wrote:
Why do you think this is leaking memory? Because you see the number in
the task manager go up? If this is the case, that is the normal behavior
for .NET, and it is not leaking memory.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:39**********************************@microsof t.com...
I am currently working on an app the will be a shell replacement. Part of
the
goal is to list the current network status; basically I need to know if
the
network card is plugged in. I am currently using WMI to query all adapters
to
see if they have a connected status. The status is updated every
30minutes. I
noticed this is leaking memory. I am looking for suggestions. I am running
this on an asynchronous thread call with callbacks to a delegate.


Nov 17 '05 #4

P: n/a
But you still haven't answered the question. Are you looking at Task
Manager, or is there a performance counter that is indicating that you have
a memory leak.

If it is in fact a memory leak, there is a good chance that you are not
disposing of something properly. Are you sure that you are calling Dispose
on anything that implements IDisposable at the appropriate time? You might
think you are, but if there truly is a memory leak, this would be the most
obvious culprit.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:61**********************************@microsof t.com...
After an hour the program goes from using 18 megs to 59 megs. After 8
hours
it states the progrmaing is using 100 megs and the sytem is so slow it is
unusable.

"Nicholas Paldino [.NET/C# MVP]" wrote:
Why do you think this is leaking memory? Because you see the number
in
the task manager go up? If this is the case, that is the normal behavior
for .NET, and it is not leaking memory.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:39**********************************@microsof t.com...
>I am currently working on an app the will be a shell replacement. Part
>of
>the
> goal is to list the current network status; basically I need to know if
> the
> network card is plugged in. I am currently using WMI to query all
> adapters
> to
> see if they have a connected status. The status is updated every
> 30minutes. I
> noticed this is leaking memory. I am looking for suggestions. I am
> running
> this on an asynchronous thread call with callbacks to a delegate.


Nov 17 '05 #5

P: n/a
I know I am the one creating the leak. What I am really looking for is a
better way to detect if the network cord is unplugged. Basically I need an
event to notify when there are changes to connectivity status. I am working
on my memory leak issue, but need to know if there is a better way then WMI.

"Nicholas Paldino [.NET/C# MVP]" wrote:
But you still haven't answered the question. Are you looking at Task
Manager, or is there a performance counter that is indicating that you have
a memory leak.

If it is in fact a memory leak, there is a good chance that you are not
disposing of something properly. Are you sure that you are calling Dispose
on anything that implements IDisposable at the appropriate time? You might
think you are, but if there truly is a memory leak, this would be the most
obvious culprit.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:61**********************************@microsof t.com...
After an hour the program goes from using 18 megs to 59 megs. After 8
hours
it states the progrmaing is using 100 megs and the sytem is so slow it is
unusable.

"Nicholas Paldino [.NET/C# MVP]" wrote:
Why do you think this is leaking memory? Because you see the number
in
the task manager go up? If this is the case, that is the normal behavior
for .NET, and it is not leaking memory.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:39**********************************@microsof t.com...
>I am currently working on an app the will be a shell replacement. Part
>of
>the
> goal is to list the current network status; basically I need to know if
> the
> network card is plugged in. I am currently using WMI to query all
> adapters
> to
> see if they have a connected status. The status is updated every
> 30minutes. I
> noticed this is leaking memory. I am looking for suggestions. I am
> running
> this on an asynchronous thread call with callbacks to a delegate.


Nov 17 '05 #6

P: n/a

You better use an Eventwatcher to watch the 'MSNdis_MediaConnectStatus' ,
following gives you an idea how to proceed.

class Tester {
public static void Main() {
Tester we = new Tester();
ManagementScope scope = new ManagementScope("root\\wmi");
ManagementEventWatcher w = null;
try {
WqlEventQuery q = new WqlEventQuery();
q.EventClassName = "__InstanceOperationEvent";
q.WithinInterval = new TimeSpan(0,0,3);
q.Condition = @"TargetInstance ISA 'MSNdis_MediaConnectStatus' ";
w = new ManagementEventWatcher( q);
w.EventArrived += new EventArrivedEventHandler(we.NetwEventArrived);
w.Start();
Console.ReadLine(); // block main thread for test purposes
}
catch(Exception e) {
Console.WriteLine(e.Message);
}
finally {
w.Stop();
w.Dispose();
}
}
public void NetwEventArrived(object sender, EventArrivedEventArgs e) {
//Get the Event object and show it
ManagementBaseObject prop =
e.NewEvent.Properties["PreviousInstance"].Value as ManagementBaseObject;
Console.WriteLine(Convert.ToBoolean(prop.Propertie s["NdisMediaConnectStatus"].Value)?"Connected":"Disonnected");
}

}

Willy.

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:FD**********************************@microsof t.com...
I know I am the one creating the leak. What I am really looking for is a
better way to detect if the network cord is unplugged. Basically I need an
event to notify when there are changes to connectivity status. I am
working
on my memory leak issue, but need to know if there is a better way then
WMI.

"Nicholas Paldino [.NET/C# MVP]" wrote:
But you still haven't answered the question. Are you looking at Task
Manager, or is there a performance counter that is indicating that you
have
a memory leak.

If it is in fact a memory leak, there is a good chance that you are
not
disposing of something properly. Are you sure that you are calling
Dispose
on anything that implements IDisposable at the appropriate time? You
might
think you are, but if there truly is a memory leak, this would be the
most
obvious culprit.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Christopher C" <Ch**********@discussions.microsoft.com> wrote in message
news:61**********************************@microsof t.com...
> After an hour the program goes from using 18 megs to 59 megs. After 8
> hours
> it states the progrmaing is using 100 megs and the sytem is so slow it
> is
> unusable.
>
> "Nicholas Paldino [.NET/C# MVP]" wrote:
>
>> Why do you think this is leaking memory? Because you see the
>> number
>> in
>> the task manager go up? If this is the case, that is the normal
>> behavior
>> for .NET, and it is not leaking memory.
>>
>>
>> --
>> - Nicholas Paldino [.NET/C# MVP]
>> - mv*@spam.guard.caspershouse.com
>>
>> "Christopher C" <Ch**********@discussions.microsoft.com> wrote in
>> message
>> news:39**********************************@microsof t.com...
>> >I am currently working on an app the will be a shell replacement.
>> >Part
>> >of
>> >the
>> > goal is to list the current network status; basically I need to know
>> > if
>> > the
>> > network card is plugged in. I am currently using WMI to query all
>> > adapters
>> > to
>> > see if they have a connected status. The status is updated every
>> > 30minutes. I
>> > noticed this is leaking memory. I am looking for suggestions. I am
>> > running
>> > this on an asynchronous thread call with callbacks to a delegate.
>>
>>
>>


Nov 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.