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.
Namespace: System.EnterpriseServices
Assembly: System.EnterpriseServices (in System.EnterpriseServices.dll)
The Activity type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AsynchronousCall | 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 a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | SynchronousCall | 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();
}
}
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
