Runtime Policies
Metro component runtime behaviour is governed by three policies. These policies deal with activation behaviour, the component lifestyle (controlling decisions as to when a new instance of a component is required), and garbage collection policies (controlling the strength of internal references between a component model and its instances).
Runtime policies may be declared via class annotations or through related attributes in packaged profiles or component directives.
Runtime policies are summarasied under the following table.
Activation | Enables declaration of activation on STARTUP or activation on DEMAND policy. |
Lifestyle | Used to declare the strategy to be applied by a container when a request for access to a component is received. The policy provides for the selection of either a SINGLETON scope within which requests are shared across multiple consumers and thread boundaries, THREAD in which a component instance is created for based on thread identity, and TRANSIENT under which a new component instance is created per request. |
Collection | Declaration of a garbage collection policy controlling the strength of internal references between a component model and its instances. |