mic*_*ael 38 wcf soap client-server fiddler
我有2个解决方案: - 服务器解决方案 - 客户解决方案
服务器将自己注册到我的localhost IIS:http:// localhost/MyApp /
客户端从localhost应用程序添加WCF服务(服务引用):http://localhost/MyApp/MyService.svc
当我运行客户端时,我希望能够看到来回传递的消息.我下载了Fiddler,但除非我实际使用网络浏览器,否则它似乎不想向我显示任何流量.我使用Fiddler是错误还是我应该使用另一种工具?
为了澄清,我想要做的是看到传入的实际消息.我不想对它们做任何事情,除了用自己的眼睛直观地看待它们.
我喜欢WCF服务日志工具,但我认为我没有正确的设置.我看不到实际的肥皂消息,只是收到了消息.
而且为了进一步澄清,我不关心我使用什么工具,只要我可以轻松地看到消息本身.
Tre*_*vor 41
要查看消息内容,必须在配置文件中添加System.ServiceModel.MessageLogging的源.跟踪查看器中的消息选项卡将显示特定服务调用的完整消息.
这是一个示例配置文件:
<configuration>
...
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="All"
propagateActivity="true">
<listeners>
<add name="traceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging"
switchValue="All">
<listeners>
<add name="traceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\Traces.svclog" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="500"/>
</diagnostics>
...
</system.serviceModel>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅MSDN上的"配置跟踪"主题.http://msdn.microsoft.com/en-us/library/ms733025.aspx
Hap*_*plo 14
也许我错过了什么,但是......为什么不使用WCF跟踪功能?这是一个很棒的故障排除工具.我已经将它用于IIS/WAS中托管的服务.
顺便说一句,有些人不知道,但你可以同时从服务器端和客户端打开跟踪,查看器将在一个漂亮的图表中显示服务器和客户端操作之间的关联.
编辑:每当我必须捕获TCP/IP流量时,我使用WireShark.如果您需要以编程方式执行此操作,则可以使用SharpPCAP,因此我可以对从网络捕获的内容采取措施.但是对于故障排除,依靠WCF跟踪要好得多.
如果你想programattically检查邮件,可以实现一个IClientMessageInspector接口,并与你的客户注册.
这允许您访问所有消息,无论您使用何种绑定,而使用Fiddler等工具只允许您使用HTTP传输通道检查消息.
请注意,使用此技术,您可以实际修改消息或执行更多操作(例如,触发通知).如果你想做的就是把注意力放在消息上,那么使用跟踪可能对你来说更容易.
| 归档时间: |
|
| 查看次数: |
59243 次 |
| 最近记录: |