【问题标题】:WCF logging not working, trying to get ANY information on why services don't workWCF 日志记录不起作用,试图获取有关为什么服务不起作用的任何信息
【发布时间】:2010-06-29 18:09:45
【问题描述】:

我已通过 Web 设置项目将一些 WCF 服务部署到服务器 它们被托管在一个 IIS 应用程序中,该应用程序似乎运行良好。

但是,当我尝试导航到 wsdl 时,什么也没找到。

我正在尝试设置诊断日志记录,以获取一些信息。

我已经听从了这里的建议:wcf trying to set up tracing to debug, not writing to log file

另外,我已经尝试了引用的MSDN documentation:在“部署或调试的推荐设置”下的内容......我的 web.config 具有相同的配置。但是没有创建日志文件。

在事件查看器中没有任何用处。

有什么想法吗?

【问题讨论】:

    标签: wcf trace


    【解决方案1】:

    可能是权限问题; IIRC 那些并不总是出现在事件日志中。确保运行 IIS 的用户对日志文件路径具有写入权限。

    【讨论】:

    • 感谢您的想法。我暂时让 'Everyone' 完全控制 c:\logs,但还没有写任何东西。
    • 嗯... IIS 日志是否表明请求正在处理? HTTP 响应码是什么?
    • 有趣的是,当我尝试访问它时,IIS 日志中没有显示任何内容。
    • 确认这可能是由于权限问题。打开日志文件夹,添加权限(使用每个人进行故障排除)。像魅力一样工作!谢谢!
    • 还确认这可能是权限问题(我提供了服务在写权限下运行的身份,并且跟踪立即开始工作)。事后看来,我意识到服务正常运行的事实表明存在权限问题。
    【解决方案2】:

    这通常是我使用的诊断配置。似乎对我有用。

    <?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
      ... 
      <system.diagnostics> 
        <trace autoflush="true" /> 
        <sources> 
          <source name="System.ServiceModel" 
                  switchValue="Verbose"> 
            <listeners> 
              <add name="sdt" 
                  type="System.Diagnostics.XmlWriterTraceListener" 
                  initializeData="D:\wcfLog.svcLog"  /> 
            </listeners> 
          </source> 
        </sources> 
      </system.diagnostics> 
    </configuration>
    

    如果您没有得到任何输出,可能是因为您的服务没有正确启动。 ServiceHost 必须启动,诊断才能输出任何内容。即使您的站点正在运行,但使用 IIS 并不意味着 ServiceHost 已正确启动。通常是配置问题。我不是网络人,但如果网站中有未处理的异常,IIS 不会写入 EventViewer?

    另外,您可以尝试创建自定义 ServiceHostFactory。这样一来,您的代码就可以控制 ServiceHost 的创建,您可以捕获任何异常并自行记录它们。

    在 IIS 中创建自定义 ServiceHost -> LINK

    【讨论】:

      【解决方案3】:

      这是一个老问题,但为了任何可能偶然发现这个问题的人的利益:

      1. 确保您已配置了 system.diagnosticsSystem.serviceModel/diagnostics 部分。
      2. 确保在正确的 App.config/Web.config 文件中配置了它们。需要注意的是,一个项目中可能存在多个配置文件,使用的配置文件取决于构建配置

      我个人有同样的症状,直到我注意到我把这些部分 在 app.config 下(在我的例子中,客户端跟踪),而不是 app.DebugLocal.config。后者用作我的构建配置设置为 DebugLocal

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-07
        • 2018-08-24
        • 2011-12-27
        • 2013-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多