【问题标题】:WinRT Unit Test Library project timeout SocketExceptionWinRT 单元测试库项目超时 SocketException
【发布时间】:2014-07-08 04:23:05
【问题描述】:

我希望使用 Fiddler 来捕获 WinRT 单元测试库客户端应用程序和 OData web api Asp.net Mvc 4 服务器之间的 HTTP 流量。

使用 Visual Studio 2013,我为 WinRT Windows Store App (Windows 8.1) 创建了一个单元测试库项目。

我已将我的服务 api url 设置为 http://localhost.fiddler:,Fiddler 正在运行并捕获非浏览器流量。

当我运行一个简单的测试时,它失败了: System.Net.Sockets.SocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机有未能响应 127.0.0.1:8888

我知道 127.0.0.1:8888 是默认的 Fiddler 代理地址。

我认为问题是由 Windows 8 阻止应用程序向本地计算机发送网络流量引起的,并运行 Fiddler AppContainer Loopback Exemption Utility 以启用单元测试库将网络流量发送到 127.0.0。 0.1:8888

我找不到在单元测试库项目 Package.appmanifest 文件中设置的包显示名称或包名称(AC 名称)的应用程序。

为什么这个项目没有出现在 AppContainer Loopback Exemption Utility 中?

【问题讨论】:

    标签: unit-testing windows-runtime fiddler windows-store


    【解决方案1】:

    单元测试库 WinRT 应用不会出现在 Fiddler AppContainer Loopback Exemption Utility 除非该应用正在运行。

    在单元测试库 [TestClass] 的 [TestMethod] 中设置断点,并在调试模式下运行 [TestMethod]。当测试中断时,运行 Fiddler AppContainer Loopback Exemption Utility。单元测试库应用程序现在应该出现在列出的 Win8 应用程序中。注意:“显示名称”将是在 Package.appmanifest 中分配的名称,而包名称(AC 名称)将是在 Package.appmanifest 中分配的 Guid。

    为应用启用环回豁免。这只需要做一次。尽管应用程序是临时的,但会记住环回豁免。

    注意:如果在单元测试库 WinRT 应用程序未运行时运行 Fiddler AppContainer Loopback Exemption Utility,您将收到一个警告对话框,提示:SID 存在环回豁免:sX-XX-X-XXXXXXXX。 ... 找不到具有该 SID 的 AppContainer。

    【讨论】:

      猜你喜欢
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多