IIS似乎没有使用machine.config中定义的defaultProxy

时间:2018-04-20 10:00:16

标签: asp.net iis fiddler

我有一个在本地运行的ASP.NET Web API,我正在使用Fiddler进行调试。 API在应用程序池帐户下运行,并对外部API进行多次调用。

当我针对我的本地API运行验收测试并在Fiddler中捕获请求时,我看不到那些外部请求,只是直接在测试的app域中进行的HTTP调用。做完一些阅读后,我发现我需要configure IIS to use a default proxy通过Fiddler路由所有流量。

所以,我尝试将此添加到我的web.config system.net

    <defaultProxy>
        <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
    </defaultProxy>

这很有效。 Fiddler现在向我展示了API所做的所有内部HTTP请求。但是,我不想通过提交此web.config更改来影响其他开发人员,所以我尝试将此部分移动到我的machine.config。

完成此操作后,即使我可以看到配置被拉到我的IIS应用程序(下面的屏幕截图),我也没有在Fiddler中看到相同的请求,这表明我没有使用代理。即使在iisreset

之后

enter image description here

任何人都可以对此有所了解吗?

更新1

@ lex-li指出我的屏幕截图中的usesystemdefaulttrue,而我在machine.config中将其设置为false。由于某种原因,似乎这个特定值没有从machine.config引入应用程序配置。但是,如果我在web.config中仅覆盖该值,如下所示,则应用程序仍然不使用代理。

<system.net>
    <defaultProxy>
        <proxy usesystemdefault="false" />
    </defaultProxy>
</system.net>

0 个答案:

没有答案