2010-09-10 3 views
12

Я отлаживаю приложение ASP.NET 2.0, которое страдает от медленной загрузки начальной страницы.Увольнение нескольких событий Application_Start

С помощью добавления журнала, я обнаружил, что событие Application_Start срабатывает дважды при запуске с небольшой задержкой между двумя событиями. Событие Session_Start также срабатывает дважды, с тем же значением идентификатора сеанса.

например.

 
[Header] 
2010-09-10 14:52:36.331 INFO Web.Global.Application_Start   START 
2010-09-10 14:52:37.409 INFO Web.Global.Session_Start    Session.SessionID=xxqjvun2ce2yqsumq1hfoj45 
[Header] 
2010-09-10 14:53:10.028 INFO Web.Global.Application_Start   START 
2010-09-10 14:53:10.325 INFO Web.Global.Session_Start    Session.SessionID=xxqjvun2ce2yqsumq1hfoj45 

Я запускаю это на своей локальной машине под IIS 5.1. В проекте также используется ASP.NET MVC, а используемый URL-адрес страницы aspx изменяется с использованием маршрутизации, using the technique shown on Phil Haack's site.

Любые предложения о том, что может это сделать?

+2

Возможно ли приложение, модифицирующее файл web.config? – muratgu

+0

У вас есть приложение Application_End между ними? Есть ли у вас призывы к «HttpRuntime.UnloadAppDomain» в вашем коде? – Alex

+1

В моем случае это был сканирование Mc Afee Virus. Я выполнил это руководство, чтобы исключить папки https://support.microsoft.com/en-us/kb/3126034 – gavin

ответ

11

В конце концов мы поняли, что это связано с нашей конфигурацией IIS.

Некоторое время назад было принято решение переименовать виртуальный каталог, используемый для этого веб-сайта. Это было сделано путем добавления всей новой конфигурации виртуального каталога, оставив предыдущий на месте. По сути, у нас было два виртуальных каталога, указывающих на одно и то же приложение ASP.NET!

Переход к новому виртуальному каталогу никогда не был завершен, поэтому части веб-сайта по-прежнему ссылаются на старый. Отсюда два Application_Start события ...

исправление было, чтобы изменить настройки для старого виртуального каталога в IIS, чтобы быть Перенаправление на URL с URL, установленным в /NewVirtualDirectory $ S $ Q

3

Мы столкнулись с подобной ситуацией, обнаружив, что это произошло потому, что мы сделали переименование сборки и имели две копии того же кода, что и эта сборка, versionA.dll и versionB.dll. Из-за этого его дважды вызывали!

0

В моем опытном (после исследования часов и т кодирования), исходящие из

Восстановлены SQLite.Interop.dll в папке x64

Я удален Управлением файлов с хостингом панели вместо FTP (FileZilla) и несколько Application_Start событий уволили :-) Корневые причины проблем были неопровержимыми. Процесс Quartz.Net, подключенный к этой DLL.

Смежные вопросы