namespace Amib.Threading { #region WorkItemInfo class /// <summary> /// Summary description for WorkItemInfo. /// </summary> public class WorkItemInfo { public WorkItemInfo() { UseCallerCallContext = SmartThreadPool.DefaultUseCallerCallContext; UseCallerHttpContext = SmartThreadPool.DefaultUseCallerHttpContext; DisposeOfStateObjects = SmartThreadPool.DefaultDisposeOfStateObjects; CallToPostExecute = SmartThreadPool.DefaultCallToPostExecute; PostExecuteWorkItemCallback = SmartThreadPool.DefaultPostExecuteWorkItemCallback; WorkItemPriority = SmartThreadPool.DefaultWorkItemPriority; } public WorkItemInfo(WorkItemInfo workItemInfo) { UseCallerCallContext = workItemInfo.UseCallerCallContext; UseCallerHttpContext = workItemInfo.UseCallerHttpContext; DisposeOfStateObjects = workItemInfo.DisposeOfStateObjects; CallToPostExecute = workItemInfo.CallToPostExecute; PostExecuteWorkItemCallback = workItemInfo.PostExecuteWorkItemCallback; WorkItemPriority = workItemInfo.WorkItemPriority; Timeout = workItemInfo.Timeout; } /// <summary> /// Get/Set if to use the caller's security context /// </summary> public bool UseCallerCallContext { get; set; } /// <summary> /// Get/Set if to use the caller's HTTP context /// </summary> public bool UseCallerHttpContext { get; set; } /// <summary> /// Get/Set if to dispose of the state object of a work item /// </summary> public bool DisposeOfStateObjects { get; set; } /// <summary> /// Get/Set the run the post execute options /// </summary> public CallToPostExecute CallToPostExecute { get; set; } /// <summary> /// Get/Set the post execute callback /// </summary> public PostExecuteWorkItemCallback PostExecuteWorkItemCallback { get; set; } /// <summary> /// Get/Set the work item's priority /// </summary> public WorkItemPriority WorkItemPriority { get; set; } /// <summary> /// Get/Set the work item's timout in milliseconds. /// This is a passive timout. When the timout expires the work item won't be actively aborted! /// </summary> public long Timeout { get; set; } } #endregion }