Destructors for COM Objects on ASP Pages Are Not Called (282156)



The information in this article applies to:

  • Microsoft Active Server Pages
  • Microsoft COM+ 1.0

This article was previously published under Q282156

SYMPTOMS

The destructor for a Component Object Model (COM) object that is used in an Active Server Pages (ASP) page may not be called under the following circumstances:
  • The component is registered in a COM+ library package.
  • The Transaction Support property is set to the default "Not Supported" for the component in the COM+ package.
  • The object uses the <OBJECT RUNAT=SERVER> tag to instantiate on an ASP page.
  • The ASP page has the <@TRANSACTION=REQUIRED> directive set.
When you shut down Internet Information Server (IIS), the destructors may be called, or application errors may occur.

WORKAROUND

To work around this problem, use one of the following methods:
  • Do not put the component in a COM+ package.
  • Set the Transaction Support property to "Supported" for the component in the COM+ package.
  • Use the Server.CreateObject command instead of the <OBJECT> tag to create the object.
  • Remove <@TRANSACTION=REQUIRED> from the ASP page.

RESOLUTION

Microsoft is researching this problem and will post more information in this article when the information becomes available.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kbbug kbfix KB282156