【问题标题】:Error logs from a WCF application on IIS 7来自 IIS 7 上的 WCF 应用程序的错误日志
【发布时间】:2011-07-29 10:53:08
【问题描述】:

这是我自己的错,我只是遗漏了一些明显的东西。我正在.Net 4.0 上构建一个 WCF REST 应用程序,现在它正在开发中。我将它推送到我的生产服务器,并在登录后收到 500 错误。现在,我确定这是我的应用程序的问题,但这是问题所在 - 我不知道错误是什么 - 我只是得到一个通用 500 错误,即使我是从 lcoalhost 执行的。所以,我去寻找一个日志,但是在inetpub下的日志中没有条目,只有一些以前的实验中的400和401错误。我错过了什么?我的 WCF 应用程序将日志条目写入何处?还是我必须告诉它手动将 500 个错误写入某个日志?我该怎么做。

【问题讨论】:

    标签: .net wcf iis logging


    【解决方案1】:

    WCF 应用不会写入日志,除非您向它们添加了日志记录。

    但是,WCF 堆栈可以选择性地写入跟踪文件,有时您可以使用这些跟踪文件来跟踪内部异常。 MSDN has instructions 了解如何启用和查看它们。

    但是,该页面并未向您展示如何配置文件日志记录,而是 this one 提供。您将需要添加一个写入文件的 XML 跟踪侦听器,

            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
    

    【讨论】:

    • 这听起来像我正在尝试做的事情 - 但是当我将这些 xml 实体添加到我的 web.config 时,没有任何反应 - 应用程序功能与以前完全相同,似乎没有创建指示的日志文件.仍然收到 500 错误。知道为什么吗?
    • 如果没有 WCF 日志,那么可能请求没有到达 WCF。当你在本地运行时,你是在 IIS 上运行的吗?
    • 我只是先在调试中运行它,它有效,然后将它部署到 IIS 的本地副本,它也有效。只有当我将它部署到我的服务器时它才会失败。我构建了 wcf 函数,它只返回一个字符串,这个页面在我的服务器上工作得很好,所以我知道我已经将它配置为与 IIS 等通信。我很确定 500 来自函数中的WCF 应用程序本身。
    • 嗯。让它工作,但必须为它提供日志文件位置的完整路径。我被宠坏了,习惯了*NIX 的“大声失败,安静成功”的哲学:D。现在可以用了,谢谢指点!
    猜你喜欢
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2012-07-05
    • 2010-12-28
    相关资源
    最近更新 更多