FIX: Various Problems When You Call Transactional COM+ Components from ASP.NET (318000)



The information in this article applies to:

  • Microsoft COM+ 1.0
  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft Data Access Components 2.7
  • Microsoft Enterprise Services (included with the .NET Framework)
  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q318000
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When you call managed or unmanaged transactional COM+ components from ASP.NET, one or more of the following problems may occur in your application:
  • Access violations
  • Memory leaks
  • Handle leaks
  • Deadlocks
  • Poor performance

CAUSE

This behavior can occur because of the following conditions:
  • A bug in COM+ 1.0 causes deadlocks, memory leaks, and handle leaks.
  • Two bugs in COM+ 1.0 cause access violations.
  • A bug in MDAC 2.7 causes poor performance.

RESOLUTION

If you are using COM+ components from ASP.NET on a Microsoft Windows 2000 production Web server, use the following methods, in the order presented, to work around these issues:
  • Install Windows 2000 Service Pack 2 (SP2) and the COM+ Hotfix Rollup Package 18.1. To obtain the COM+ Hotfix Rollup Package 18.1, contact Microsoft Product Support Services. Windows 2000 Service Pack 3 (SP3) will contain these fixes when it is released.For additional information about the COM+ Hotfix Rollup Package 18.1, click the article number below to view the article in the Microsoft Knowledge Base:

    313582 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1

  • If you are using SQL Server 2000, install SQL Server 2000 Service Pack 1 (SP1) or later.

    For more information about the availability of SQL Server 2000 service packs, browse to the following Microsoft Web site:
  • If you need a fix for MDAC 2.7 performance issues, contact Microsoft Product Support Services. MDAC 2.7 SP1 will contain these fixes when it is released.
  • You must explicitly call the Dispose method on objects that inherit from the System.EnterpriseServices.ServicedComponent class. Under stress, the handle count can increase by up to several thousand (10,000 to 30,000) before being freed if you do not explicitly call Dispose.WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

STATUS

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

312118 BUG: High Memory Usage and Handle Counts When an Application Contains ServicedComponent Objects



Fixes will be publicly available in Windows 2000 SP3 and MDAC 2.7 SP1. If a fix is required before the release of the aforementioned service packs, please contact Microsoft Product Support Services.

Modification Type:MinorLast Reviewed:11/4/2003
Keywords:kbbug kbCOMServices kberrmsg kbfix kbPerformance kbScalability KB318000 kbAudDeveloper