我有一个我正在开发的web应用程序,它制作了大量的HttpWebRequests。为了使调试更容易,我在web.config中设置了以下内容;
<system.net>
<defaultProxy>
<proxy proxyaddress="http://127.0.0.1:9999" />
</defaultProxy>
</system.net>这允许我所有的HttpWebRequests通过Fiddler代理。问题是我需要让Fiddler运行,才能让我的应用程序正常工作。
理想情况下,我希望在Fiddler运行时通过Fiddler代理它,而在Fiddler不运行时完全不使用代理,而不必每次都更改我的web.config。
发布于 2013-11-09 07:03:12
这里有几个选项。
首先,您可以设置相关对象inside your code directly的相关代理属性,而不是回退到配置inside your code directly;然后,您可以根据您喜欢的任何因素有选择地控制代理的使用。
或者,您可以尝试将scriptLocation attribute设置为指向http://localhost:8888/proxy.pac,并使用Fiddler的about:config将fiddler.proxy.pacfile.usefileprotocol设置为false,然后勾选Tools >Fiddler Options > Connections > use PAC Script框。
发布于 2013-11-09 07:26:19
您是否考虑过另一种方法,即在System.Net上启用跟踪侦听器?它不像使用Fiddler那样舒适,但可能足以进行零星的调试。对于消息日志记录,仅System.Net应该就足够了,但还有更多。
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<!--<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>-->
<!--<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>-->
</sources>
<sharedListeners>
<add
name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="System.Net.trace.log"
/>
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
<add name="System.Net.Cache" value="Verbose" />
</switches>
</system.diagnostics>https://stackoverflow.com/questions/19844515
复制相似问题