我的WCF(具有客户端和服务器证书)存在问题
例外:
System.ServiceModel.ServiceActivationException: 请求的服务, 'http://localhost/CustomerServiceSite/Customer.svc' 无法激活。见 服务器的诊断跟踪日志 更多信息..
错误堆栈跟踪:
DoNegotiation(TimeSpan超时) System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(时间跨度 超时) System.ServiceModel.Security.TlsnegoTokenProvider.OnOpen(时间跨度 超时) System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(时间跨度 超时) System.ServiceModel.Channels.CommunicationObject.Open(时间跨度 超时) System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(时间跨度 超时) System.ServiceModel.Security.SecurityUtils.OpenTokenProviderIfRequired(SecurityTokenProvider tokenProvider,TimeSpan超时) System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(时间跨度 超时) System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(时间跨度 超时) System.ServiceModel.Channels.CommunicationObject.Open(时间跨度 超时)OnOpen(TimeSpan超时) System.ServiceModel.Channels.CommunicationObject.Open(时间跨度 超时) System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation 操作,EndpointAddress目标,Uri via,SecurityToken currentToken, TimeSpan超时) System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(时间跨度 超时) System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(时间跨度 超时) ClientSecuritySessionChannel.OnOpen(时间跨度 超时) System.ServiceModel.Channels.CommunicationObject.Open(时间跨度 超时) System.ServiceModel.Channels.ServiceChannel.OnOpen(时间跨度 超时) System.ServiceModel.Channels.CommunicationObject.Open(时间跨度 超时) System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天 reqMsg,IMessage retMsg) System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培; msgData,Int32类型) System.ServiceModel.ICommunicationObject.Open(时间跨度 超时) System.ServiceModel.ICommunicationObject.Open(时间跨度 超时)打开()
Dignostics设置(在system.serviceModel内)
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>
我在哪里可以看到诊断错误?有人知道可能是什么问题吗?
答案 0 :(得分:4)
该配置不足以记录这些错误消息。
您需要的是双重的 - 首先是您已经拥有的<system.serviceModel>
内的部分,以指示WCF进行记录。
但是你还需要第二部分 - 在<system.diagnostics>
内 - 来定义将信息记录到哪里!像这样:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Information, ActivityTracing">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\messages.svclog" />
</listeners>
</source>
</sources>
<trace autoflush="true" />
</system.diagnostics>
System.Diagnostics
命名空间中定义了一些不同的日志侦听器 - 这里将把这些信息记录到基于XML的*.svclog
文件中,然后您可以使用{查看和分析{3}}
在MSDN上阅读有关Service Trace Viewer Tool的更多信息。
答案 1 :(得分:2)
只需使用事件查看器应用程序查看Applications事件日志即可。