我有一個Silverlight應用程序。我想跟蹤我的應用程序中是否有人在線或離線。因此,我想我會確定在App.xaml.cs文件中。在試圖做到這一點,我添加以下代碼:C中的靜態事件處理程序#
internal static bool IsOnline = false;
public static event EventHandler NetworkAddress_Changed;
private static void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
{
IsOnline = NetworkInterface.GetIsNetworkAvailable();
if (NetworkAddress_Changed != null)
NetworkAddress_Changed(null, EventArgs.Empty);
}
我的希望是,在我的應用程序頁面可以綁定到這個事件處理程序,並作出相應的反應,並檢查App.IsOnline。但是,我不知道如何正確連線。在App.xaml.cs我啓動的事件處理程序,我有以下代碼:
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
抱歉,系統的NetworkChange_NetworkAddressChanged
事件處理程序不會被調用。我正在嘗試做什麼?如果是這樣,怎麼樣?
你是怎麼測試的?你有沒有取下電纜,關閉無線? – 2011-04-03 17:07:57
一般要小心靜態事件。事件對對象有強烈的引用,所以事件的任何訂閱者都應該在不再使用該對象以使其獲得GCed時使用' - ='。 – vcsjones 2011-04-03 17:13:58