ASP.NET кэшированные страницы ASPX и журналы IIS - PullRequest
2 голосов
/ 14 мая 2010

Есть ли способ узнать, обслуживала ли среда выполнения ASP.Net кэшированную копию страницы ASPX или действительно прошла жизненный цикл страницы?

Вот моя проблема:

Я вижу много записей в моих файлах журнала IIS, которые были успешно обработаны (200 OK) . У меня соответствующий код регистрации (Log4Net API) в событиях Session_Start и Application_BeginRequest () , который регистрирует каждый запрос к моей БД с более подробной информацией. Я не вижу соответствующих записей в моей базе данных SQL для некоторых случаев, которые должны были быть созданы кодом Log4Net.

Существуют ли какие-либо журналы, чтобы узнать, обслуживалась ли кэшированная копия рабочим процессом .NET? Кроме того, если мой код входа в систему вызовет исключение, не будет ли он отображаться как 500 в журналах IIS?

Код находится на Windows 2008 Server, IIS 7.

PS: Если сборка кода разрешает событие и вход в базу данных может помочь отследить это? Может кто-нибудь указать мне пример?

1 Ответ

1 голос
/ 14 мая 2010

Если вы не хотите вручную добавлять дополнительные записи, вы можете просто включить трассировку. Чтобы включить трассировку, откройте свой 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. Это отличный способ добавить немного кода отладки, который будет запускаться только при включенной трассировке.

НТН, Lance

...