跟踪 ASP.NET 应用程序在生产服务器中不起作用

Tracing for an ASP.NET application does not work in production server

我需要跟踪我的 MVC 5 应用程序的执行,因此我已将其添加到 web.config 文件:

<system.diagnostics>
    <trace autoflush="true" indentsize="4" />
    <sources>
      <source name="mySource" switchValue="Information" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "C:\inetpub\wwwroot\website\trace.log" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

在代码中,我添加了:

public static TraceSource _trace = new TraceSource("mySource");

_trace.TraceInformation("Tracing messages");

问题是生产服务器没有任何反应。甚至没有创建日志文件。

奇怪的是,它确实可以在我的开发 PC 上使用 Release build 运行。该网站是在 TRACE 常量打开的情况下编译的。

生产服务器有 IIS 8.5,在我的电脑上,使用的是 IISEXPRESS。这是唯一的区别。

有什么帮助吗?

可能是 ACL 问题。

检查 C:\inetpub\wwwroot\website 上的安全设置,并将它们与您的 MVC 应用程序 运行 下的用户进行比较。