COM+ Just-in-Time Activation
.NET managed components can use COM+ JITA to efficiently handle rich clients (such as .NET Windows Forms clients), as discussed in Chapter 3.
To enable JITA support for your component, use the
JustInTimeActivation
attribute:
[JustInTimeActivation(true)] public class MyComponent :ServicedComponent {..}
When you register this component with COM+, the JITA checkbox in the
Activation tab on the Component Services Explorer is selected. If you
do not use the JustInTimeActivation
attribute,
JITA support is disabled when you register your component with COM+
(unlike the COM+ default of enabling JITA). The
JustInTimeActivation
class default constructor
enables JITA support, so the following two statements are equivalent:
[JustInTimeActivation] [JustInTimeActivation (true)]
Enabling JITA support is just one thing you need
to do to use JITA. You still have to let COM+ know when to deactivate
your object. You can deactivate the object by setting the
done bit in the context object, using the
DeactivateOnReturn
property of the
ContextUtil
class. As discussed at length in Chapter 3, a JITA object should retrieve its state at
the beginning of every method call and save it at the end. Example 10-3 shows a serviced component using JITA.
Example 10-3. A serviced component using JITA
public interface IMyInterface { void MyMethod(long objectIdentifier); } [JustInTimeActivation(true)] public class MyComponent :ServicedComponent,IMyInterface { public void MyMethod(long objectIdentifier) ...
Get COM & .NET Component Services now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.