Configuring COM+ Applications

A COM+ application is essentially a declarative construct that enables you to configure any number of components in common. For example, you can configure the components in an application with a common security policy.

Configuration is an essential part of the development process for COM+ applications. How you configure an application will determine how COM+ will provide services for it and how it behaves when running.

You can configure COM+ applications using either the Component Services administration tool or the scriptable administration objects and interfaces that provide the underlying functionality of the administration tool. For details on performing scripted administration, see Automating COM+ Administration.

You can configure elements at the following levels within COM+ applications:

How you install components into an application can affect how you can configure them. You should always install components into COM+ applications (as opposed to importing them). Installing components will fully register them, along with interfaces and type libraries, in the COM+ class registration database (RegDB) so that you can configure them.

Application-Level Settings

Attribute Description
Activation
Specifies application type: either server application or library application.
Enabling access checks
Turns security checking on and off.
Security level
Specifies that access checks will be performed at the process level (access-checking levels generated from roles) or both at process and at component levels (full role-based security).
Authentication level
Sets the authentication level used on calls into the application.
Impersonation level
Sets the impersonation level used on calls to other applications.
Queuing
Specifies that application components will use queuing services.
Enable CRM
Enables use of Compensating Resource Managers.
Run application as a service
Configures and implements a COM+ server application as an NT service.
COM+ SOAP service
Exposes a COM+ application as an XML web service.
Application pooling
Adds scalability for single-threaded processes and integrates with the COM+ Application Recycling service.
Application recycling
Increases application stability by gracefully shutting down a process associated with an application and restarting it.
Process dumping
Dumps the entire state of a process without terminating it, for debugging purposes.
Server process shutdown
Shuts down a process after a specified idle period.
Permissions
Disables changes to configuration settings, including deletion.
Security identity
Specifies the identity under which the application runs.
Launch in debugger
Specifies that the application will be launched in a debugger, with user-specified command-line settings.
Enable 3GB support
Enables use of extended process memory address space.

Component-Level (Class-Level) Settings

Attribute Description
Transactions
Sets automatic transaction requirements Disabled, Not Supported, Supported, Required, or Requires New.
Synchronization
Sets synchronization requirements Disabled, Not Supported, Supported, Required, or Requires New.
JIT Activation
Enables just-in-time activation.
Object pooling
Enables object pooling. Minimum and maximum pool size and object time-out values are configurable.
Object construction
Enables parameterized object construction with an administratively specified constructor string.
Note: The constructor string should not be used to store security-sensitive information.
Component-level access checks
Turns on or off component-level role-based security checking.
Declarative role assignment
Enables explicit assignment of roles to the component.
Queuing exception class
Indicates an exception class for handling client-side failures.
Instrumentation events and statistics
Enables detailed system event and object statistics reporting.
Activation context
Enables forced activation of an object in the caller's context or default context.
Creating private components
Marks component as private to the application. A private component can be seen and activated only by other components in the same application.

Interface-Level Setting

Attribute Description
Queued
Indicates a queuable interface, defined in IDL.
Declarative role assignment
Enables explicit assignment of roles to the interface as well as implicitly inherited roles from the component level.

Method-Level Setting

Attribute Description
Auto-done
Automatically deactivates object on method return and votes in transaction.
Declarative role assignment
Enables explicit assignment of roles to the method as well as implicitly inherited roles from the interface and component levels.

Automating COM+ Administration

Creating COM+ Applications

Deploying COM+ Applications