0

我真的很难知道这里的问题是什么......

我在 IIS 中配置了 2 个网站...

**PH.Website**   (STANDARD MVC PROJECT)

**PH.Api**       (MVC WEB API PRIOJECT)

当您点击 PH.Website 时,它​​使用其中一个控制器中的 WebClient 类从 PH.Api 下载数据。然而 fiddler 只看到流向 PH.Website 而不是 PH.Api 的流量。

在互联网上阅读之后,我显然必须在 Web Api 项目中对 Syste.Net 进行一些配置。所以我加了...

  <system.net>
    <defaultProxy>
      <proxy
              usesystemdefault="False"
              bypassonlocal="True"
              proxyaddress="http://PH.Api"
              />
    </defaultProxy>
  </system.net>

但仍然没有运气。我知道请求正在发生,我只是看不到它。

更令人困惑的是,当我将 Fiddler 配置为使用端口 80 时,它说它无法侦听该端口。但是,如果它不能在 80 上监听,那么它怎么能看到 Http 端口:80 上的流量呢?

Ps 我真的需要能够在本地运行多个站点。我讨厌在 Localhost 或 127.0.0.1 下运行站点,当您可以为 IIS 中的所有内容创建单独的站点并确切知道所有内容的映射位置时,这似乎很愚蠢......

4

1 回答 1

0

让我们备份。

Fiddler 的代理服务器;它会看到发送给它的所有流量。一般来说(除非您将其用作反向代理),您永远不想将Fiddler配置为在端口 80 上运行;而是将其保留在默认运行的端口 8888。相反,您将客户端配置为通过Fiddler代理其流量。

现在,你做了什么“在互联网上阅读”导致你修改你的 machine.config 或 web.config 文件(你没有提到你编辑的)?

如果您的目标是使用 Fiddler 监视流量,您需要将 ASP.NET 代理设置指向 Fiddler,而不是指向任何“PH.api”(例如,使用“127.0.0.1:8888”并将 bypassOnLocal 设置为 false)。System.NET 绕过对“localhost”或“127.0.0.1”的任何请求的代理会产生进一步的复杂性,因此如果您将这些地址用于目标,则应暂时将它们更改为“localhost.fiddler”,而调试。

于 2013-08-05T19:20:45.083 回答