Applying Attributes to Configure COM+ Services
This topic provides the default value of each design-time attribute in the System.EnterpriseServices namespace. by knowing the default value of each attribute, you can eliminate unnecessary attributes in your code. If you are not familiar with the role of attributes on metadata, see Extending Metadata Using Attributes.
The following is the default usage information for each service-related attribute:
Attribute scope. Identifies whether the attribute applies to only a method, class, or to an entire assembly.
Unconfigured default value. Displays the value that COM+ assigns to the field when the attribute is omitted from code. For example, if you omit the JustInTimeActivationAttribute attribute from a class, COM+ sets the default value to False.
Configured default value. Displays the value that COM+ assigns to a field when you apply an attribute but omit the attribute value. The following example shows how to set the JustInTimeActivationAttribute attribute to True on a class:
Imports System.EnterpriseServices <JustInTimeActivation()> Public Class Account Inherits ServicedComponent Shared Sub Main() End Sub End Class [C#] using System.EnterpriseServices; [JustInTimeActivation] public class Account : ServicedComponent { static void Main() {} }
Makefile.bat
You can compile the example as follows:
vbc /t:exe /r:System.EnterpriseServices.dll Demo.vb [C#] csc /t:exe /r:System.EnterpriseServices.dll Demo.cs
Service-Related Attributes
The following table lists the scope and default values, configured and unconfigured, for service-related attributes.
Attribute | Attribute scope | Unconfigured default value | Configured default value |
---|---|---|---|
ApplicationAccessControlAttribute | Assembly | True | True |
ApplicationActivationAttribute | Assembly | Library | No default |
ApplicationIDAttribute | Assembly | Generated GUID | No default |
ApplicationNameAttribute | Assembly | Assembly name | No default |
ApplicationQueuingAttribute | Assembly | No default | No default |
AutoCompleteAttribute | Method | False | True |
ComponentAccessControlAttribute | Class | False | True |
COMTIIntrinsicsAttribute | Class | False | True |
ConstructionEnabledAttribute | Class | False | True |
DescriptionAttribute | Assembly
Class Method Interface |
No default | No default |
EventClassAttribute | Class | No default | FireInParallel = False
AllowInprocSubsribers = True PublisherFilter = Null |
EventTrackingEnabledAttribute | Class | False | True |
ExceptionClassAttribute | Class | No default | No Default |
IISIntrinsicsAttribute | Class | False | True |
InterfaceQueuingAttribute | Class
Interface |
False | True |
JustInTimeActivationAttribute | Class | False | True |
LoadBalancingSupportedAttribute | Class | False | True |
MustRunInClientContextAttribute | Class | False | True |
ObjectPoolingAttribute | Class | False | True |
PrivateComponentAttribute | Class | No default | Private |
SecureMethodAttribute | Assembly
Class Method |
No default | No default |
SecurityRoleAttribute | Assembly
Class Interface |
No default | No default |
SynchronizationAttribute | Class | False | SynchronizationOption.Required |
TransactionAttribute | Class | False | TransactionOption.Required
TransactionIsolationLevel.Serializable Timeout = infinite |
See Also
Writing Serviced Components | System.EnterpriseServices | Serviced Component Overview | Registering Serviced Components | Serviced Component Example | Summary of Available COM+ Services | Extending Metadata Using Attributes | System.EnterpriseServices Namespace