SynchronizationAttribute Class
Sets the synchronization value of the component. This class cannot be inherited.
Assembly: System.EnterpriseServices (in System.EnterpriseServices.dll)
| Name | Description | |
|---|---|---|
![]() | SynchronizationAttribute() | Initializes a new instance of the SynchronizationAttribute class with the default SynchronizationOption. |
![]() | SynchronizationAttribute(SynchronizationOption) | Initializes a new instance of the SynchronizationAttribute class with the specified SynchronizationOption. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.) |
![]() | GetHashCode() | Returns the hash code for this instance.(Inherited from Attribute.) |
![]() | GetType() | |
![]() | IsDefaultAttribute() | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.) |
![]() | Match(Object) | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount(UInt32) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from Attribute.) |
Both transaction and just-in-time (JIT) activation enable synchronization automatically.
For more information about using attributes, see Extending Metadata Using Attributes.
Applying SynchronizationAttribute to a context-bound object results in the creation of a wait handle and auto reset event, which are not deterministically garbage collected. Therefore, you should not create a large number of context-bound objects marked with the SynchronizationAttribute within a short time period.
The following code example demonstrates the use of the SynchronizationAttribute type.
Imports System Imports System.EnterpriseServices Imports System.Reflection ' References: ' System.EnterpriseServices ' This is equivalent to [Synchronization(SynchronizationOption.Required)]. <Synchronization()> _ Public Class SynchronizationAttribute_Ctor Inherits ServicedComponent End Class 'SynchronizationAttribute_Ctor <Synchronization(SynchronizationOption.Disabled)> _ Public Class SynchronizationAttribute_Ctor_SynchronizationOption Inherits ServicedComponent End Class 'SynchronizationAttribute_Ctor_SynchronizationOption <Synchronization(SynchronizationOption.RequiresNew)> _ Public Class SynchronizationAttribute_Value Inherits ServicedComponent Public Sub ValueExample() ' Get the SynchronizationAttribute applied to the class. Dim attribute As SynchronizationAttribute = CType(Attribute.GetCustomAttribute(Me.GetType(), GetType(SynchronizationAttribute), False), SynchronizationAttribute) ' Display the value of the attribute's Value property. MsgBox("SynchronizationAttribute.Value: " & attribute.Value) End Sub 'ValueExample End Class 'SynchronizationAttribute_Value
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



