如何在本地IIS网站和本地之间调试Json

时间:2013-08-05 16:43:50

标签: rest asp.net-mvc-4 asp.net-web-api fiddler wcf-web-api

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

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

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

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

当您点击PH.Website时,它会在其中一个控制器中使用WebClient类从PH.Api下载数据。然而,提琴手只看到流向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无论如何?

P.S。我真的需要能够在本地运行多个站点。我讨厌在Localhost或127.0.0.1下运行站点,当你可以为IIS中的所有内容创建单独的站点并确切地知道所有地图的位置时,它看起来很傻....

1 个答案:

答案 0 :(得分:0)

让我们回来。

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

现在,什么&#34;在互联网上阅读&#34;你这样做是因为你修改了你的machine.config或web.config文件(你没有提到你编辑过的文件)?

如果您的目标是通过Fiddler观看流量,则需要point the ASP.NET proxy settings at Fiddler,而不是&#34; PH.api&#34;是(例如,使用&#34; 127.0.0.1:8888&#34;并将bypassOnLocal设置为false)。进一步的复杂性在于,System.NET绕过任何请求的代理,以及#34; localhost&#34;或者&#34; 127.0.0.1&#34;,所以如果你为目标使用这些地址,你应该将它们改为&#34; localhost.fiddler&#34;暂时调试。