namespace Amib.Threading { #region WorkItemInfo class /// /// Summary description for WorkItemInfo. /// 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; } /// /// Get/Set if to use the caller's security context /// public bool UseCallerCallContext { get; set; } /// /// Get/Set if to use the caller's HTTP context /// public bool UseCallerHttpContext { get; set; } /// /// Get/Set if to dispose of the state object of a work item /// public bool DisposeOfStateObjects { get; set; } /// /// Get/Set the run the post execute options /// public CallToPostExecute CallToPostExecute { get; set; } /// /// Get/Set the post execute callback /// public PostExecuteWorkItemCallback PostExecuteWorkItemCallback { get; set; } /// /// Get/Set the work item's priority /// public WorkItemPriority WorkItemPriority { get; set; } /// /// 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! /// public long Timeout { get; set; } } #endregion }