Well, Murphy bit my ass hard today. I upgraded a server from NT4 to W2K and all hell broke loose. In a nutshell, all my COM+ components STOPPED firing their ObjectControl_Deactivate events completely. No deactivate events = no object cleanup. No object cleanup = shit breaks.
After a day of debugging this shit, come to find out that having this in your ASP page:
<@ Language=VbScript Transaction=Not_Supported>
causes the ObjectControl_Deactivate event to be completely shit canned.
To make matters worse, Transaction has for possibilities: Required, Requires_New, Supported, and Not_Supported. Using ANY of them in your ASP page on W2K/IIS5 causes Deactivate to never fire. Now, remove the Transaction attribute entirely:
brings the Deactivate event back to life. This is the case even if the page AND the component are set to the same thing.
How fucking retarded is that? What could the default of Transaction be if it’s not Required, Requires_New, Supported, and Not_Supported? Funking retards.
With that informaiton, reflect on the fact that ObjectControl_Deactivate fires 100% of the time under NT4/IIS4. Grrrr.
I’m sure .NET and one degree of separation would fix this. :-/