100 lines
3.2 KiB
C#
100 lines
3.2 KiB
C#
|
// Ami Bar
|
||
|
// amibar@gmail.com
|
||
|
|
||
|
namespace Amib.Threading
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Summary description for WIGStartInfo.
|
||
|
/// </summary>
|
||
|
public class WIGStartInfo
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Use the caller's security context
|
||
|
/// </summary>
|
||
|
private bool _useCallerCallContext;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Use the caller's HTTP context
|
||
|
/// </summary>
|
||
|
private bool _useCallerHttpContext;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Dispose of the state object of a work item
|
||
|
/// </summary>
|
||
|
private bool _disposeOfStateObjects;
|
||
|
|
||
|
/// <summary>
|
||
|
/// The option to run the post execute
|
||
|
/// </summary>
|
||
|
private CallToPostExecute _callToPostExecute;
|
||
|
|
||
|
/// <summary>
|
||
|
/// A post execute callback to call when none is provided in
|
||
|
/// the QueueWorkItem method.
|
||
|
/// </summary>
|
||
|
private PostExecuteWorkItemCallback _postExecuteWorkItemCallback;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Indicate the WorkItemsGroup to suspend the handling of the work items
|
||
|
/// until the Start() method is called.
|
||
|
/// </summary>
|
||
|
private bool _startSuspended;
|
||
|
|
||
|
public WIGStartInfo()
|
||
|
{
|
||
|
_useCallerCallContext = SmartThreadPool.DefaultUseCallerCallContext;
|
||
|
_useCallerHttpContext = SmartThreadPool.DefaultUseCallerHttpContext;
|
||
|
_disposeOfStateObjects = SmartThreadPool.DefaultDisposeOfStateObjects;
|
||
|
_callToPostExecute = SmartThreadPool.DefaultCallToPostExecute;
|
||
|
_postExecuteWorkItemCallback = SmartThreadPool.DefaultPostExecuteWorkItemCallback;
|
||
|
_startSuspended = SmartThreadPool.DefaultStartSuspended;
|
||
|
}
|
||
|
|
||
|
public WIGStartInfo(WIGStartInfo wigStartInfo)
|
||
|
{
|
||
|
_useCallerCallContext = wigStartInfo._useCallerCallContext;
|
||
|
_useCallerHttpContext = wigStartInfo._useCallerHttpContext;
|
||
|
_disposeOfStateObjects = wigStartInfo._disposeOfStateObjects;
|
||
|
_callToPostExecute = wigStartInfo._callToPostExecute;
|
||
|
_postExecuteWorkItemCallback = wigStartInfo._postExecuteWorkItemCallback;
|
||
|
_startSuspended = wigStartInfo._startSuspended;
|
||
|
}
|
||
|
|
||
|
public bool UseCallerCallContext
|
||
|
{
|
||
|
get { return _useCallerCallContext; }
|
||
|
set { _useCallerCallContext = value; }
|
||
|
}
|
||
|
|
||
|
public bool UseCallerHttpContext
|
||
|
{
|
||
|
get { return _useCallerHttpContext; }
|
||
|
set { _useCallerHttpContext = value; }
|
||
|
}
|
||
|
|
||
|
public bool DisposeOfStateObjects
|
||
|
{
|
||
|
get { return _disposeOfStateObjects; }
|
||
|
set { _disposeOfStateObjects = value; }
|
||
|
}
|
||
|
|
||
|
public CallToPostExecute CallToPostExecute
|
||
|
{
|
||
|
get { return _callToPostExecute; }
|
||
|
set { _callToPostExecute = value; }
|
||
|
}
|
||
|
|
||
|
public PostExecuteWorkItemCallback PostExecuteWorkItemCallback
|
||
|
{
|
||
|
get { return _postExecuteWorkItemCallback; }
|
||
|
set { _postExecuteWorkItemCallback = value; }
|
||
|
}
|
||
|
|
||
|
public bool StartSuspended
|
||
|
{
|
||
|
get { return _startSuspended; }
|
||
|
set { _startSuspended = value; }
|
||
|
}
|
||
|
}
|
||
|
}
|