我有一个简单的WCF服务与basicHttp绑定.该服务在IIS7中本地托管(Win7笔记本电脑).我可以在以下位置浏览该服务:http://localhost/musicstore/musicstore.svc (端口80)
我开发了一个简单的Windows窗体客户端应用程序来调用该服务.它工作正常,但我真的希望通过Fiddler2看到消息调用/响应.当我浏览网页时,Fiddler2会愉快地报告流量,所以我无法理解为什么它没有接收这个WCF呼叫?
是否有另一种方法来查看WCF调用的数据.也许有微软工具?
客户端配置是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://localhost/musicstore/musicstore.svc"
binding="basicHttpBinding" bindingConfiguration="" contract="MusicStore.IMusicStore"
name="BasicHttp" />
</client>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
服务配置是:
<services>
<service behaviorConfiguration="MusicStoreBehavior" name="MusicStore">
<endpoint address="" binding="basicHttpBinding" contract="IMusicStore">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
Run Code Online (Sandbox Code Playgroud)
blo*_*art 15
查看WCF正在做什么的最简单方法是打开WCF自己的登录.您可以通过编辑web.config并添加来完成此操作
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\messages.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
MSDN提供了有关您可以配置的内容的更多详细信息.您可以在服务跟踪查看器中查看日志.
这个问题有很多重复,其中很多都有正确的答案.您应该使用http://localhost.fiddler/作为目标,.NET将正确代理请求.在传递请求之前,Fiddler会将"localhost.fiddler"更改为"localhost".
| 归档时间: |
|
| 查看次数: |
11200 次 |
| 最近记录: |