Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How do non COM+ objects scale to multiple users?
Message
 
À
21/06/2002 14:02:03
Joel Leach
Memorial Business Systems, Inc.
Tennessie, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Divers
Thread ID:
00670700
Message ID:
00671209
Vues:
13
Hi Joel,

>What is the benefit of this approach over a VFP COM EXE (besides extra COM+ features)? If I understand correctly, under MTS, in-process DLLs are loaded into the already running MTS process, which enables that sort of thing and is relatively light. When using application protection, is a separate process created, or is the DLL hosted in the already running COM+ process?

Hmm, somehow I'm not sure we are all talking about the same things. *g*

A COM component must always be hosted in a process. A COM EXE creates its own process and runs in its own little universe. Security-wise you can only control the entire EXE with DCOMCNFG. A COM DLL use a different process as a host. In a plain COM scenario, this is a host application. For example, if you load an ActiveX control in a VFP application, the VFP application is the host for the COM DLL that implements the ActiveX control.

Component Services is a system that provides such host in form of the DLLHOST.EXE. If your VFP application creates an instance of a component that wants to be hosted in Component Services, COM+ only instantiates a proxy in your application. Then it creates the component either in an existing DLLHOST.EXE (pool or medium security) or launches a completely new DLLHOST.EXE (isolated or high security). In this DLLHOST it creates two objects. One is the actual COM object, the other is a proxy object. When your VFP application calls a method, this call goes to the first proxy. The first proxy talks to the other proxy. The second proxy is the object that does all the magic of COM+. It can now activate the object, verify security on a per method call, etc. Lastly, the call is forwarded.

In other words, Component Service provide an environment to execute COM objects in a much more controlled way than it is possible with plain COM. It's an infrastructure.

IIS uses this infrastructure to implement the its own idea of virtual directories and applications. So, those are not different things, it's just a different way to get there. For IIS, a virtual directory is a COM+ application, if protectection is enabled.

Christof
--
Christof
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform