Answers:
您需要在web.config中添加它
<system.net>
<defaultProxy>
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
</defaultProxy>
</system.net>
仅此而已,但别忘了在关闭提琴手之后删除web.config行,因为如果不这样做,将会出错。
参考:http : //fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
http://
在代理地址中指定。正如您所提到的,其余所有内容都是相同的。
http://localhost/abc.svc
为http://HOSTNAME/abc.svc
Fiddler侦听出站请求,而不是入站请求,因此您将无法使用Fiddler监视进入服务的所有请求。
Fiddler最好的功能是能够查看所有由控制台应用程序生成的请求(假设该应用程序生成了Web请求而不是使用其他管道)。
如果您想要一个功能更强大(但更难使用)的工具来监视所有传入请求,则应签出WireShark。
编辑
我站得住了。感谢Eric Law发布了将Fiddler配置为反向代理的说明!
合并了一些用例的注释/答案中提到的警告。
通常,请参见http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp
在控制台应用程序中,您可能不需要指定proxyaddress
:
<proxy bypassonlocal="False" usesystemdefault="True" />
在Web应用程序/ IIS中托管的内容中,您需要添加proxyaddress
:
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
HttpWebRequest
)发出请求时,它将始终绕过Fiddler代理以获取包含的URL localhost
,因此您必须使用别名(如计算机名)或在“主机”文件中添加内容(这就是为什么)类似localhost.fiddler
或http://HOSTNAME
有效的东西)如果您指定proxyaddress
,则必须在Fiddler未启用的情况下将其从配置中删除,否则您的应用发出的任何请求都会引发异常,例如:
无法建立连接,因为目标计算机主动拒绝它127.0.0.1:8888
标准WCF跟踪/诊断
如果由于某种原因您无法使Fiddler正常工作,或者宁愿以其他方式记录请求,则另一种选择是使用标准WCF跟踪功能。这将产生一个具有漂亮查看器的文件。
文件
请参阅https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/samples/tracing-and-message-logging
组态
将以下内容添加到您的配置中,确保c:\logs
存在,重建并发出请求:
<system.serviceModel>
<diagnostics>
<!-- Enable Message Logging here. -->
<!-- log all messages received or sent at the transport or service model levels -->
<messageLogging logEntireMessage="true"
maxMessagesToLog="300"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\logs\TracingAndLogging-client.svclog" type="System.Diagnostics.XmlWriterTraceListener"
name="xml" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
我刚刚尝试了Brad Rem的第一个答案,并在web.config中的BasicHttpBinding下进行了此设置:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding bypassProxyOnLocal="False" useDefaultWebProxy="false" proxyAddress="http://127.0.0.1:8888" ...
...
</basicHttpBinding>
</bindings>
...
<system.serviceModel>
希望这对某人有帮助。