•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the VB.NET section within the Software Development category of DaniWeb, a massive community of 402,891 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,043 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our VB.NET advertiser: Programming Forums
Views: 3958 | Replies: 2
![]() |
•
•
Join Date: May 2004
Posts: 27
Reputation:
Rep Power: 5
Solved Threads: 0
I never get ok with the COM+ contexts... There are so many context types like client context, call context etc... Adding to this .NET provides few attributes such as MustRunInClientContext... I couldn't find any sample or links that explain this...
Let me elaborate more. As the definition goes by saying "context" is a conceptual grouping of objects within a transaction. However when u instantiate a COM+ component (TransactionOption.Supported) within another COM+ component (TransactionOption.RequiresNew), when i check the ContextUtil.ContextID, the two components are instantiated in different contexts... WHY?
Secondly, the definition says MustRunInClientContext runs the component in the client context but if try this with the above component (TransactionOption.Supported) it most always results in an exception... WHY?
Third and final, this is different from contexts but i just found this... Just create a COM+ component (Inherit ServicedComponent, Set transaction - every thing normal - you can do this simply by selecting Transaction Component template in VB.NET)... If you give description attribute to any of the methods, you will get method level rolebased security exception - if you remove the description attribute, you won't get this exception...
phew, COM+ seems to be a land of uncertainty....
Let me elaborate more. As the definition goes by saying "context" is a conceptual grouping of objects within a transaction. However when u instantiate a COM+ component (TransactionOption.Supported) within another COM+ component (TransactionOption.RequiresNew), when i check the ContextUtil.ContextID, the two components are instantiated in different contexts... WHY?
Secondly, the definition says MustRunInClientContext runs the component in the client context but if try this with the above component (TransactionOption.Supported) it most always results in an exception... WHY?
Third and final, this is different from contexts but i just found this... Just create a COM+ component (Inherit ServicedComponent, Set transaction - every thing normal - you can do this simply by selecting Transaction Component template in VB.NET)... If you give description attribute to any of the methods, you will get method level rolebased security exception - if you remove the description attribute, you won't get this exception...
phew, COM+ seems to be a land of uncertainty....
•
•
Join Date: May 2004
Posts: 27
Reputation:
Rep Power: 5
Solved Threads: 0
Let me add one more, If you create a com+ component with ActivationOption.Server, you can't have methods that return objects (MarshalByRef)... I tried and got Remoting exceptions...
Only in ActivationOption.Library, I am able to return my custom objects... Even after implementing ISerializable or <Serializable> attribute it didn't worked for me (alas). Can anybody tried returning custom object as well as other .NET objects itself like ArrayList...
In webservices, it is understandable that the contract is text based but COM+ being binary contract, it should work isn't it....
Only in ActivationOption.Library, I am able to return my custom objects... Even after implementing ISerializable or <Serializable> attribute it didn't worked for me (alas). Can anybody tried returning custom object as well as other .NET objects itself like ArrayList...
In webservices, it is understandable that the contract is text based but COM+ being binary contract, it should work isn't it....
![]() |
•
•
•
•
•
•
•
•
DaniWeb VB.NET Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
- Using OpenGL in Visual C++: Part I (Game Development)
- Would someone please explain what folding means? (Geeks' Lounge)
- Please explain to me...dedicated server.. (Networking Hardware Configuration)
- can someone please explain??????? (C)
- Will somebody please explain value parameters to me!!! (C)
- Please explain debugging (Java)
Other Threads in the VB.NET Forum
- Previous Thread: Querying a Dataset
- Next Thread: Controlling windows scroll


Linear Mode