DefaultAppPool произошла фатальная ошибка связи со службой публикации в Интернете. - PullRequest
3 голосов
/ 28 марта 2011

Я получаю записи журнала событий каждый раз, когда захожу на сайт:

Event Type: Error
Event Source:   VsJITDebugger
Event Category: None
Event ID:   4096
User:       NT AUTHORITY\NETWORK SERVICE
Computer:   COMPUTER-02
Description:
An unhandled Microsoft .NET Framework exception occurred in w3wp.exe [2908]. Just-In-Time debugging this exception failed with the following error: Debugger could not be started because no user is logged on.

Check the documentation index for 'Just-in-time debugging, errors' for more information.

Data:
0000: 02 00 5c 80               ..\    
<Ч />

Системные журналы

Event Type: Error
Event Source:   W3SVC
Event Category: None
Event ID:   1002
Date:       28/03/2011
Time:       17:49:28
User:       N/A
Computer:   COMPUTER-02
Description:
Application pool 'DefaultAppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

Журнал приложений

Event Type: Warning
Event Source:   W3SVC
Event Category: None
Event ID:   1011
Date:       28/03/2011
Time:       17:49:28
User:       N/A
Computer:   COMPUTER-02
Description:
A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '3724'. The data field contains the error number. 

Data:
0000: 6d 00 07 80               m..    

Я также последовал совету на сайте поддержки Microsoft без везения. У учетной записи сетевой службы не было проблем с доступом к реестру.

Мне нужно запустить сайт в IIS6 (вместо IIS Express 7.5), так как сайт работает как ASP, так и ASP.NET Мне нужно сопоставление с подстановочными знаками для аутентификации в ASP.

У меня полностью закончились идеи, так как в ASP.NET 3.5 (CLR v2 ...) сайт работал нормально, но это обновление полностью испортилось при отладке.

Любая помощь будет высоко ценится.

Ответы [ 2 ]

2 голосов
/ 29 марта 2011

Вам понадобятся WinDbg (Инструменты отладки для Windows) и DebugDiag.

  1. Установите DebugDiag и WinDbg
  2. Убедитесь, что вы скопировали SOS.dll соответствующей платформы в каталог WinDbg.
  3. Добавить правило для перехвата процессов IIS / COM +
  4. При первых исключениях создайте полный дамп пользователя.Ограничение 10
  5. Откройте веб-сайт и посмотрите на DebugDiag, вы увидите, что он начинает принимать полные дампы.
  6. После того, как у вас есть несколько дампов памяти, загрузите WinDbg и нажмите File->Откройте Crash Dump и загрузите один из дампов памяти.
  7. Тип .load sos
  8. Тип !clrstack
  9. Вы получите трассировку стека ошибки, например:
0:016> .load sos
0:016> !clrstack
PDB symbol for clr.dll not loaded
OS Thread Id: 0xa60 (16)
Child SP IP       Call Site
01d2eb5c 7c81a251 [HelperMethodFrame: 01d2eb5c] System.Diagnostics.Debugger.LaunchInternal()
01d2ebac 7a0e0166 System.Diagnostics.Debugger.Launch()*** WARNING: Unable to verify checksum for mscorlib.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for mscorlib.ni.dll

01d2ebd8 04470176 ebiz.Global.Application_Start(System.Object, System.EventArgs)
01d2f1f8 791421bb [DebuggerU2MCatchHandlerFrame: 01d2f1f8] 
01d2f1c4 791421bb [CustomGCFrame: 01d2f1c4] 
01d2f198 791421bb [GCFrame: 01d2f198] 
01d2f17c 791421bb [GCFrame: 01d2f17c] 
01d2f3a0 791421bb [HelperMethodFrame_PROTECTOBJ: 01d2f3a0] System.RuntimeMethodHandle._InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.SignatureStruct ByRef, System.Reflection.MethodAttributes, System.RuntimeType)
01d2f41c 79b3d689 System.RuntimeMethodHandle.InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.Signature, System.Reflection.MethodAttributes, System.RuntimeType)
01d2f470 79b3d37c System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, Boolean)
01d2f4ac 79b3bfed System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
01d2f4d0 79b43284 System.Reflection.MethodBase.Invoke(System.Object, System.Object[])
01d2f4dc 67894f4d System.Web.HttpApplication.InvokeMethodWithAssert(System.Reflection.MethodInfo, Int32, System.Object, System.EventArgs)*** WARNING: Unable to verify checksum for System.Web.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for System.Web.ni.dll

01d2f500 678951cb System.Web.HttpApplication.ProcessSpecialRequest(System.Web.HttpContext, System.Reflection.MethodInfo, Int32, System.Object, System.EventArgs, System.Web.SessionState.HttpSessionState)
01d2f550 67b34175 System.Web.HttpApplicationFactory.FireApplicationOnStart(System.Web.HttpContext)
01d2f564 672bfe1c System.Web.HttpApplicationFactory.EnsureAppStartCalled(System.Web.HttpContext)
01d2f59c 672bfd3d System.Web.HttpApplicationFactory.GetApplicationInstance(System.Web.HttpContext)
01d2f5ac 672fbf28 System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)
01d2f5e0 672fbccd System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)
01d2f5f0 672fb2cd System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)
01d2f5f4 6791c30c [InlinedCallFrame: 01d2f5f4] 
01d2f668 6791c30c DomainNeutralILStubClass.IL_STUB_COMtoCLR(Int32, Int32, IntPtr)
01d2f7fc 791425a1 [GCFrame: 01d2f7fc] 
01d2f86c 791425a1 [ContextTransitionFrame: 01d2f86c] 
01d2f8a0 791425a1 [GCFrame: 01d2f8a0] 
01d2f9f8 791425a1 [ComMethodFrame: 01d2f9f8] 

В любом случае, вы можете видеть, что Debugger.Launch() находится прямо наверху, и низко, и вот, мой код имел его. Кажется, что IIS это совсем не нравитсяесли это ваша первая строка кода!

0 голосов
/ 30 марта 2011

Если вы не знакомы с WinDbg, вы все равно можете извлечь много информации из дампов. У вас уже есть дампы, созданные DebugDiag. Запустите VS, Файл -> Открыть -> Файл (Ctrl + O), выберите файл .dmp. VS2010 отобразит несколько параметров для отладки - смешанный режим или только Native. Выберите смешанный режим, откройте окно потоков, определите поток, выдавший исключение, посмотрите на стек вызовов. Иногда вы получаете локальные переменные для потока, но не рассчитывайте на это слишком сильно, поскольку данные могут быть неверными.

...