FIX: Transactions may not be sent when you call the Dispose method of the loaded object (832096)
The information in this article applies to:
- Microsoft COM+ 1.0, when used with:
- the operating system: Microsoft Windows 2000
- Microsoft Enterprise Services (included with the .NET Framework) 1.0
- Microsoft Common Language Runtime (included with the .NET Framework) 1.0
SYMPTOMSWhen you use the Reflection class to dynamically load a Reflection.Assembly object, you may find that the transactions of an object are not committed when the Dispose method of the loaded object is called.CAUSEThis problem occurs when all the following conditions are true: - You dynamically load an Reflection.Assembly class.
- The ContextUtil.SetComplete method is called before a transaction begins.
- You use the Dispose method to start the transaction.
This problem occurs because the just-in-time (JIT) compiler does not deliver Deactivate notification when assemblies that are loaded with the Reflection class call the ContextUtil.SetComplete method before they call the Object.Dispose method. WORKAROUNDTo work around this problem, comment out calls to the ContextUtil.SetComplete method before the transaction starts.RESOLUTIONHow to obtain the hotfixThis issue is fixed in the Microsoft Windows 2000 Server COM+ 1.0 Hotfix Package 28. For additional information, click the following article number to view the article in the Microsoft Knowledge Base: 828748 FIX: Availability of Windows 2000 Post-Service Pack 4 COM+ 1.0 hotfix rollup package 28 STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
Modification Type: | Minor | Last Reviewed: | 11/8/2004 |
---|
Keywords: | kbWin2000preSP5fix kbHotfixRollup kbbug kbfix kbQFE KB832096 kbAudDeveloper |
---|
|