发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
如果在开发过程中,WCF服务出现问题,我们可以通过服务引用,然后直接断点调试进去。然而,对于已经发布的服务,出现错误时,寻找错误信息会变得麻烦。
幸好,微软提供了服务跟踪查看器工具 (SvcTraceViewer.exe)这个工具来跟踪已发布的服务。
可以在文件夹: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin找到(我的系统是WIN7,.NET 4.0)
配置服务跟踪相当简单,可以用上面的SvcConfigEditor.exe来打开服务的config文件配置。
也可以手动修改配置,增加一个diagnostics的配置节点。
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <compilation targetFramework="4.5" /> <httpRuntime targetFramework="4.5"/> </system.web> <system.serviceModel><!--添加跟踪节点--><diagnostics> <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtTransportLevel="true" /> </diagnostics> <behaviors> <serviceBehaviors> <behavior> <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false --> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 --> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors> </behaviors> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> <bindings> <basicHttpBinding> <binding name="ServiceProxyBinding" closeTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"> <readerQuotas maxStringContentLength="2147483647" /> </binding> <binding name="BasicHttpBinding_IAircraftService" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" /> <binding name="BasicHttpBinding_ITransCenter" /> <binding name="BasicHttpBinding_IDecodeService" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://192.168.85.70:5596/TransCenterSer.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITransCenter" contract="TransCenterSer.ITransCenter" name="BasicHttpBinding_ITransCenter" /> <endpoint address="http://192.168.85.70:8010/AHMTService/DecodeService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDecodeService" contract="DecodeService.IDecodeService" name="BasicHttpBinding_IDecodeService" /> </client> </system.serviceModel><!--配置跟踪节点--> <system.diagnostics> <sources> <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing"> <listeners> <add type="System.Diagnostics.DefaultTraceListener" name="Default"> <filter type="" /> </add> <add name="ServiceModelMessageLoggingListener"> <filter type="" /> </add> </listeners> </source> <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true"> <listeners> <add type="System.Diagnostics.DefaultTraceListener" name="Default"> <filter type="" /> </add> <add name="ServiceModelTraceListener"> <filter type="" /> </add> </listeners> </source> </sources> <sharedListeners> <add initializeData="D:\LogData\MoveQarData_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp"> <filter type="" /> </add> <add initializeData="D:\LogData\MoveQarData_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp"> <filter type="" /> </add> </sharedListeners> <trace autoflush="true" /> </system.diagnostics> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> <!-- 若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。 在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。 --> <directoryBrowse enabled="true"/> </system.webServer> </configuration>
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定
WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定。ServiceModel.1.System.ServiceModel.Channels.TransactionFlowBindingElement2. System.ServiceModel.Channels.ReliableSessionBi...
MyService WCF服务应用程序
MyService WCF服务应用程序出现了一个奇怪问题我创建的全部都是新的重创建一个空的.sln文件开始说然后创建了一个WCF最后创建了一个winform窗体项目结构WCFApplication.sln空解决方案MyService WCF服务...
WCF 开启消息日志功能
WCF 开启消息日志功能生产环境。若要增强调试功能,也应将其他跟踪源(System.ServiceModel.MessageLogging)添加到配置中以启用消息日志记录。--开启日志功能--> <system.diagnostics> <t...
一步一步学Silverlight 2系列(14):数据与通信之WCF
Silverlight2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, VisualC#, IronRuby, Ironpython,对JSON、WebService、WCF以及Sockets的支持等一系列...
WCF—Binding
WCF—Binding.一个Binding包含着丰富的信息,每种信息都描述了服务端和客户端交互过程中的一方面,如下表所示,Binding描述了这些层面的信息:选择正确的Binding.Binding是可以自定义实现的,可WCF框架...
在WCF中获取服务元数据信息
所谓获取WCF的服务元数据(Metadata),归根结点,实际上就是获取服务的终结点(Endpoint)的信息,这是服务公开在外的数据信息,包括Addr...
WCF配置文件 - 落霞与孤骛齐飞,秋水共长天一色
学习 WCF (5)
学习 WCF (5)它实现了WCF消息与MSMQ消息之间的转换,用以支持与旧的MSMQ客户端之间的互操作。NetTcpBinding: 一个安全且经过优化的绑定...
WCF事务编程
微信扫码,在手机上查看选中内容