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) ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access