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)

System.Object
  System.EnterpriseServices.Activity

[ComVisibleAttribute(false)]
public sealed class Activity

NameDescription
System_CAPS_pubmethodActivity(ServiceConfig)

Initializes a new instance of the Activity class.

NameDescription
System_CAPS_pubmethodAsynchronousCall(IServiceCall)

Runs the specified user-defined batch work asynchronously.

System_CAPS_pubmethodBindToCurrentThread()

Binds the user-defined work to the current thread.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodSynchronousCall(IServiceCall)

Runs the specified user-defined batch work synchronously.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodUnbindFromThread()

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();
       }
   }

.NET Framework
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.

Return to top
Show: