>However, it's a skill that takes years to acquire.
Yeah. That's what I was trying to establish.
> Can I outline the process? A bit.
> You can check out my blog for some information on getting started
Juan T. Llibre, asp.net MVP
"Jim Cheshire" <contactme@mysite.com> wrote in message
news:j1jv229d89kd8qql5cph16angc7q8m11b3@4ax.com...
> On Sun, 2 Apr 2006 08:02:04 -0400, "Juan T. Llibre"
> <nomailreplies@nowhere.com> wrote:
>
>>
>>The first 2 links have valuable information which can help pinpoint
>>the reason(s) an ASP.NET worker process is being recycled.
>>
>>Of course, as you point out, using the faulting stack to track down the problem,
>>is 100% correct, although it might not be as easily implemented as health monitoring is.
>>
>>Could you outline the process ?
>>
>
> You have to draw a distinction between the app domain restarting and
> the process restarting. I know that I'm telling you what you already
> know, but for the benefit of others . . .
>
> Application domains may restart because, for example, a config change
> takes place. In that case, you can use health monitoring as you've
> suggested and log the WebApplicationLifetimeEvent. In the example I've
> used here, this would tell you that a config change took place.
>
> The process may restart for many reasons. The case we're dealing with
> here is a "terminated unexpectedly" which means that it crashed. When
> the process crashes, naturally all app domains will be terminated. If
> you were to log the reason for that, it would only tell you that the
> hosting environment was shutting down the app domain. Well, that's not
> news. We already know that. Therefore, it's a waste of time to write
> code and hook up everything to log that information.
>
> As for troubleshooting the issue via a user-mode dump, that is really
> the only way to get to root cause. However, it's a skill that takes
> years to acquire. There are a couple of specific problems that can be
> located quickly if you know how to do it, but the majority of problems
> are not so easily located. It requires an in-depth knowledge of
> memory, how data structures are laid out, and how to dissassemble call
> stacks.
>
> Can I outline the process? A bit. You can check out my blog for some
> information on getting started:
>
>
http://blogs.msdn.com/jamesche >
> I haven't added anything there in a while because I've been swamped
> writing a new book, but I have written some information that will give
> you an idea of what I'm talking about.
>
> Jim