Я разрабатываю приложение Windows Phone 7, которое требуется для работы с сетью.NetworkChange.NetworkAddressChanged событие не срабатывает
Я хотел, чтобы мое приложение подключалось, когда NetworkAddress изменен, и становится доступным. Поэтому я использовал NetworkChange.Networkaddresschanged. Я тестировал свое приложение на эмуляторе. Он запускается в первый раз, но поскольку нет никакой сети, я ничего не делаю. Этот NetworkAddresschanged не запускается во второй раз, когда сеть доступна.
Мой код
public void OnNetworkDownEvent()
{
lock (_networkChange)
{
var handler =_OnNetworkDown;
if (handler != null)
{
_OnNetworkDown();
}
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
NetworkChange.NetworkAddressChanged -= OnNetworkChange;
NetworkChange.NetworkAddressChanged += OnNetworkChange;
});
_connectionDown = true;
Monitor.Wait(_networkChange);
OnNetworkUpEvent();
}
}
public void OnNetworkUpEvent()
{
var handler = _OnNetworkUp;
if (handler != null)
{
_OnNetworkUp();
}
}
private void OnNetworkChange(object sender, EventArgs e)
{
lock(_networkChange)
{
if(NetworkInterface.GetIsNetworkAvailable())
{
if (_connectionDown)
{
_connectionDown = false;
Monitor.Pulse(_networkChange);
//OnNetworkUpEvent();
}
}
}
}
Я называю Networkdownevent()
, когда сеть down.And в то время я придаю делегата NetworkAddressChange.
Я не знаю, почему это происходит.
Как вы тестируете изменения в состоянии сети? –
, переключив мою компьютерную сеть на – rakesh