네트워크로 작업해야하는 Windows Phone 7 앱을 개발 중입니다.NetworkChange.NetworkAddressChanged 이벤트가 실행되지 않습니다.
NetworkAddress를 사용할 수있게되면 응용 프로그램이 연결되기를 원합니다. 그래서 NetworkChange.Networkaddresschanged를 사용했습니다. 난 에뮬레이터에서 내 애플 리케이션을 테스트했다. 처음으로 작동하지만 네트워크가 없으므로 아무 것도하지 않습니다. 이 NetworkAddresschanged는 네트워크가 사용 가능할 때 두 번째로 실행되지 않습니다.
내 코드는 네트워크 내가 NetworkAddressChange에 대리자를 연결하면 해당 시간 치우는 때 나는 Networkdownevent()
전화
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();
}
}
}
}
입니다.
왜 이런 일이 발생하는지 알 수 없습니다.
네트워크 상태의 변화를 어떻게 테스트하고 있습니까? –
내 컴퓨터 네트워크를 켜거나 끄기 – rakesh