跟踪 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 应用程序 运行 下的用户进行比较。
我需要跟踪我的 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 应用程序 运行 下的用户进行比较。