Как я могу протестировать свое приложение WP7 без подключения к Интернету в эмуляторе?

Я разрабатываю приложение для Windows Phone 7, которое может работать без подключения к Интернету, но при желании загружает некоторый контент из Интернета, если сеть доступна.

Как я могу протестировать это приложение в эмуляторе телефона при отсутствии подключения к Интернету?

В главном меню доступна опция Settions, но, в отличие от реального устройства, здесь нет возможности отключить передачу данных. Единственное решение, которое я придумал, — отключить WiFi-адаптер моего ноутбука для разработки, но это, похоже, лучший вариант. Есть ли способ заставить эмулятор работать в автономной среде?


person Alexander Galkin    schedule 11.02.2012    source источник


Ответы (4)


Как вы сказали, я просто отключаю свой компьютер для разработки от Интернета всякий раз, когда хочу протестировать приложение wp7 без подключения к Интернету. Вы не можете форсировать это из эмулятора, но вы, вероятно, можете отключить его с помощью кода, но мне это кажется слишком трудоемким.

Другой сообщение StackOverflow.

Из Центра приложений WP7.

person Bryan Watts    schedule 11.02.2012

Другой вариант — использовать NetLimiter.

Вы можете не только отключить соединение с вашим приложением, но и изменить скорость, чтобы имитировать плохое соединение, и посмотреть, как ведет себя ваше приложение. NetLimiter и Fiddler — приятные инструменты.

person Derek Beattie    schedule 12.02.2012
comment
С NetLimiter 3 вы не можете установить ограничение на загрузку, равное 0. Чтобы отключить интернет для устройства, щелкните кружок в столбце «Блокировка исходящего трафика» и выберите «Запретить». Это идеально подходит для тестирования отсутствия соединения в моем приложении. - person Sandy; 16.08.2012
comment
Звучит хорошо, хотя версия 3.0.0.11 не будет установлена ​​на 64-битной Windows 8 или Windows Server 2012 64-битной :( - person Greg Woods; 11.07.2013
comment
В версии 2012 теперь есть панель Simulation Dashboard для тестирования различных сценариев подключения. - person Derek Beattie; 16.07.2013

Ознакомьтесь с этим вопросом. Там есть информация по той же проблеме. Также ознакомьтесь с этим запись.

Вы можете использовать этот метод в своем коде для обнаружения подключения к Интернету. Если вы поместите его в статический класс как статический метод, он будет работать хорошо.

private bool InternetIsAvailable()
{
    var available = !NetworkInterface.GetIsNetworkAvailable();     
#if DEBUG    
       available = false;    
#endif        
       if (!available)         
       {
           MessageBox.Show("No internet connection is available.  Try again later.");   
           return false;        
       }   
       return true;    
}
person Edward    schedule 11.02.2012
comment
Спасибо за ваш код. У меня нет проблем с определением, есть связь или нет. Я просто хочу протестировать некоторые компоненты, такие как карты Bing и веб-браузер, как они ведут себя при отсутствии соединения. Мне просто нужно только отключить эмулятор от сети. - person Alexander Galkin; 12.02.2012

Есть простой способ...

Если вашему приложению не требуется онлайн-вход в систему... Рабочий стол, откройте «Internet Explorer»> «Настройки»> «Подключение» и настройте прокси-сервер, который, конечно, недействителен. Сохраните изменения. Теперь вы больше не сможете просматривать веб-сайт. После этих шагов запустите симулятор...

person user3057300    schedule 09.05.2014