|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ThreadBound
{
/// <summary>
/// Base class for thread bound objects that want to utilize the WasCanceled() feature of
/// the framework.
/// </summary>
public class ThreadBoundObject :
ContextBoundObject
{
/// <summary>
/// Checks if the current method was cancled.
/// </summary>
/// <remarks>
/// If the method is executed synchronously WasCanceled will always return false.
/// </remarks>
/// <returns>Returns true if Cancel was called on the IAsyncCallState-Interface of an asynchronous call.</returns>
public bool WasCanceled()
{
//-- Here is no threading issue because every thread has its own version
// of currentMethod and therefore it is not possible to change the value
// from an other thread!
if (ThreadGlobals.currentMethod != null)
return ThreadGlobals.currentMethod.WasCanceled();
else
return false;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.