AW: Managed COM+ components question....
[email protected] Wed, 19 Jun 2002 23:17:56 -0700
| Newsgroups | gmane.comp.windows.devel.dotnet.general |
|---|---|
| Message-ID | <DOTNET%[email protected]> |
Hi folks, I need your help to settle a debate with my coworkers. We are developing yet another n-tier application :-) and keeping in step with the latest MS trend, we have the Biz Facade Layer, Biz Layer, Data Access layer, et all. We have only a single database. Basically, inspite of the fancy names, the Data Access Layer objects are are just simple classes that return DataSets by calling stored procedures. The Biz Layer objects call the Data Access Layers objects to access the database. Now here's the basic question: a) Does it make sense to make both the Biz Layer objects and the Data Access Layer COM+ components (mind you, they are classes consisting of a few lines each!!!)? To me it makes no sense as the Biz Layer initiates the transaction (Transaction.Required) and the data access layer merely enrolls in it by using the Transaction.Supported attribute. My coworkers claim the calling DoComplete() on the DataAccess layer releases the data connection, but this does not make sense to me as the transaction is initiated by the Biz layer and the connection cannot be released until the Biz Layer calls SetComplete(). b) Do all COM+ objects in an AppDomain that share the same transaction reside in the same context? If not, then there is certainly a performance penalty associated with accessing one context bound object from another (i.e., the Data Access Layer from the Biz Layer). Atul You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.