【问题标题】:ASP.NET cached aspx page & IIS logsASP.NET 缓存的 aspx 页面和 IIS 日志
【发布时间】:2010-05-14 04:08:42
【问题描述】:

有什么方法可以查明 ASP.Net 运行时是否提供了 ASPX 页面的缓存副本或实际经历了页面生命周期?

这是我的问题:

我在我的 IIS 日志文件中看到许多条目已成功提供 (200 OK)。我在 Session_Start 和 Application_BeginRequest() 事件中有一个相应的日志记录代码 (Log4Net API),它将每个请求记录到我的数据库中并提供更多详细信息。对于某些本应由 Log4Net 代码创建的情况,我在我的 SQL DB 中没有看到任何相应的条目。

是否有任何日志可用于确定缓存副本是否由 .NET 工作进程提供服务?此外,如果我的日志记录代码会抛出异常,那会不会在 IIS 日志中显示为 500?

代码在 Windows 2008 Server, IIS 7 上。

PS:如果编码程序集解析事件并登录到数据库可以帮助跟踪这一点?有人可以举个例子吗?

【问题讨论】:

    标签: c# asp.net caching log4net iis-logs


    【解决方案1】:

    如果您不想手动添加更多日志记录,则可以打开跟踪。要打开跟踪,请打开您的 web.config 并找到 ... 标签。设置enabled="true",保存web.config,然后可以到http://{your site}/trace.axd查看页面跟踪事件。

    您可以通过以下方式测试是否可以看到缓存调用:首先查看页面,然后单击离开并返回到该页面,然后检查跟踪以查看记录的事件的差异。您应该在第二个页面视图的跟踪中看到缓存获取。

    以下是来自 MS 的有关此出色功能的更多信息:http://msdn.microsoft.com/en-us/library/1y89ed7z(VS.71).aspx

    您还可以在代码中使用 Trace.Write 或 Trace.Warn 写入跟踪输出。这是添加一些仅在启用跟踪时才会运行的调试代码的好方法。

    HTH, 兰斯

    【讨论】:

    • 感谢兰斯。我知道追踪是一种选择。唯一的问题是代码在生产环境中,我必须等到补丁通过两个测试环境。其次,ASPX 页面是通过 JBOSS 服务器调用的,这就是我遇到问题的地方,偶尔会增加痛苦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 2015-11-29
    • 2011-12-11
    • 2013-01-14
    • 2012-04-10
    相关资源
    最近更新 更多