Activity Class
Creates an activity to do synchronous or asynchronous batch work that can use COM+ services without needing to create a COM+ component. This class cannot be inherited.
Assembly: System.EnterpriseServices (in System.EnterpriseServices.dll)
| Name | Description | |
|---|---|---|
![]() | Activity(ServiceConfig^) | Initializes a new instance of the Activity class. |
| Name | Description | |
|---|---|---|
![]() | AsynchronousCall(IServiceCall^) | Runs the specified user-defined batch work asynchronously. |
![]() | BindToCurrentThread() | Binds the user-defined work to the current thread. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | SynchronousCall(IServiceCall^) | Runs the specified user-defined batch work synchronously. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() | UnbindFromThread() | Unbinds the batch work that is submitted by the SynchronousCall or AsynchronousCall methods from the thread on which the batch work is running. |
The context associated with the activity is completely determined by a ServiceConfig object.
The following code example demonstrates how to use the Activity class and use the synchronization service.
class SvcClass: IServiceCall { static int callNumber = 0; public void OnCall() { callNumber++; System.Guid contextID = ContextUtil.ContextId; Console.WriteLine("This is call number "+ callNumber.ToString()); Console.WriteLine(contextID.ToString()); System.TimeSpan sleepTime = new System.TimeSpan(0,0,0,10); System.Threading.Thread.Sleep(sleepTime); } } class EnterpriseServicesActivityClass { [STAThread] static void Main(string[] args) { ServiceConfig serviceConfig = new ServiceConfig(); serviceConfig.Synchronization = SynchronizationOption.Required; serviceConfig.ThreadPool = ThreadPoolOption.MTA; SvcClass serviceCall = new SvcClass(); Activity activity = new Activity(serviceConfig); activity.AsynchronousCall(serviceCall); activity.AsynchronousCall(serviceCall); Console.WriteLine("Waiting for asynchronous calls to terminate"); Console.Read(); } }
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.
