【问题标题】:How can I test my WP7 app under no Internet connection conditions in emulator?如何在模拟器中没有互联网连接的情况下测试我的 WP7 应用程序?
【发布时间】:2014-05-09 12:17:00
【问题描述】:

我正在开发一个 Windows Phone 7 应用程序,它能够在没有互联网连接的情况下工作,但如果网络可用,则可以选择从 Web 加载一些内容。

在没有网络连接的情况下,如何在Phone Emulator中测试这个应用程序?

主菜单中有一个Settions 选项,但与真实设备不同的是,它没有禁用数据连接的选项。我想出的唯一解决方案是禁用我的开发笔记本电脑的 WiFi 适配器,但这似乎是一个终极选择。 有什么办法可以强制模拟器在断网环境下运行?

【问题讨论】:

    标签: windows-phone-7 windows-phone-7-emulator


    【解决方案1】:

    另一种选择是使用NetLimiter

    您不仅可以关闭与应用的连接,还可以更改速度以模拟连接不佳的情况并查看应用的行为方式。 NetLimiter 和 Fiddler 是不错的工具。

    【讨论】:

    • 使用 NetLimiter 3,您不能将下载限制设置为 0。要切断设备的 Internet,请单击“Outgoing Blocker”列中的圆圈并选择“拒绝”。这非常适合在我的应用中测试无连接。
    • 听起来不错,虽然 3.0.0.11 版无法安装在 Windows 8 64 位或 Windows Server 2012 64 位上:(
    • 2012 现在有用于测试不同连接场景的模拟仪表板。
    【解决方案2】:

    就像你说的,每当我想在没有互联网连接的情况下测试 wp7 应用程序时,我都会断开我的开发计算机与互联网的连接。您不能从模拟器中强制它,但您可以使用代码将其关闭,但这对我来说似乎工作量太大。

    另一个StackOverflow post

    来自WP7 App Hub

    【讨论】:

      【解决方案3】:

      看看这个question。它有一些关于同一问题的信息。另请查看post

      您可以在代码中使用此方法来检测互联网连接。如果你把它作为静态方法放在一个静态类中,效果很好。

      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;    
      }
      

      【讨论】:

      • 感谢您的代码。我在检测是否有连接方面没有问题。我只是想测试一些组件——比如 Bing 地图和 Web 浏览器——如果没有连接它们会如何表现。我基本上只需要断开模拟器与网络的连接。
      【解决方案4】:

      有一个简单的方法...

      如果您的应用不需要在线登录...桌面,请打开“Internet Explorer”>“设置”>“连接”并设置一个当然无效的代理。保存更改。现在,您应该无法再浏览网站了。完成这些步骤后,启动模拟器...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-21
        • 2012-01-17
        • 1970-01-01
        • 2018-07-08
        • 2016-01-17
        • 2017-11-05
        • 2019-11-06
        • 1970-01-01
        相关资源
        最近更新 更多