internal void SetComplete(Object returnValue, Exception exception)
{
_returnValue = returnValue;
_exception = exception;
CleanupOnComplete();
_bIsComplete = true;
try
{
if (_manualResetEvent != null)
_manualResetEvent.Set();
}
catch (Exception e)
{
if (_exception == null)
_exception = e;
}
catch {
if (_exception == null)
_exception = new Exception(CoreChannel.GetResourceString("Remoting_nonClsCompliantException"));
}
// invoke the callback
if (_asyncCallback != null)
_asyncCallback(this);
} // SetComplete