Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / HttpAsyncResult.cs / 2 / HttpAsyncResult.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * ASP.NET simple internal implementation of IAsyncResult * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web { using System; using System.Threading; internal class HttpAsyncResult : IAsyncResult { private AsyncCallback _callback; private Object _asyncState; private bool _completed; private bool _completedSynchronously; private Object _result; private Exception _error; // pipeline support private RequestNotificationStatus _status; /* * Constructor with pending result */ internal HttpAsyncResult(AsyncCallback cb, Object state) { _callback = cb; _asyncState = state; _status = RequestNotificationStatus.Continue; } /* * Constructor with known result */ internal HttpAsyncResult(AsyncCallback cb, Object state, bool completed, Object result, Exception error) { _callback = cb; _asyncState = state; _completed = completed; _completedSynchronously = completed; _result = result; _error = error; _status = RequestNotificationStatus.Continue; if (_completed && _callback != null) _callback(this); } internal void SetComplete() { _completed = true; } /* * Helper method to process completions */ internal void Complete(bool synchronous, Object result, Exception error, RequestNotificationStatus status) { _completed = true; _completedSynchronously = synchronous; _result = result; _error = error; _status = status; if (_callback != null) _callback(this); } internal void Complete(bool synchronous, Object result, Exception error) { Complete(synchronous, result, error, RequestNotificationStatus.Continue); } /* * Helper method to implement End call to async method */ internal Object End() { if (_error != null) throw new HttpException(null, _error); return _result; } // // Properties that are not part of IAsyncResult // internal Exception Error { get { return _error;}} internal RequestNotificationStatus Status { get { return _status; } } // // IAsyncResult implementation // public bool IsCompleted { get { return _completed;}} public bool CompletedSynchronously { get { return _completedSynchronously;}} public Object AsyncState { get { return _asyncState;}} public WaitHandle AsyncWaitHandle { get { return null;}} // wait not supported } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TreeViewCancelEvent.cs
- XmlArrayItemAttributes.cs
- ToolStripItemTextRenderEventArgs.cs
- EntityConnectionStringBuilderItem.cs
- _ListenerAsyncResult.cs
- SQLDecimalStorage.cs
- SoapMessage.cs
- ConfigurationStrings.cs
- PeerObject.cs
- SizeConverter.cs
- QuotedStringFormatReader.cs
- PolyQuadraticBezierSegment.cs
- PrintingPermission.cs
- RenameRuleObjectDialog.cs
- StringValueConverter.cs
- BinaryWriter.cs
- EdmError.cs
- TextElementEnumerator.cs
- CustomAttributeFormatException.cs
- MonitorWrapper.cs
- SEHException.cs
- CompositeCollection.cs
- EntityDataSourceDataSelection.cs
- ModelItem.cs
- LinqDataSource.cs
- Int32AnimationUsingKeyFrames.cs
- contentDescriptor.cs
- DataGridItemAutomationPeer.cs
- DataGridViewColumnStateChangedEventArgs.cs
- NetSectionGroup.cs
- ProfileSection.cs
- DownloadProgressEventArgs.cs
- ButtonRenderer.cs
- MatrixAnimationBase.cs
- LogicalExpr.cs
- WorkflowApplicationAbortedException.cs
- CodeIndexerExpression.cs
- TypedReference.cs
- UnmanagedMarshal.cs
- Operand.cs
- XPathNavigatorReader.cs
- sqlnorm.cs
- IdSpace.cs
- SyntaxCheck.cs
- SqlServices.cs
- HttpsChannelListener.cs
- Pair.cs
- CheckBoxAutomationPeer.cs
- HtmlInputReset.cs
- SqlEnums.cs
- XmlSchemaIdentityConstraint.cs
- StringUtil.cs
- ViewGenResults.cs
- httpapplicationstate.cs
- ScrollChangedEventArgs.cs
- RegistrationServices.cs
- BlockUIContainer.cs
- Crypto.cs
- MissingMemberException.cs
- SingleTagSectionHandler.cs
- ProtocolViolationException.cs
- ICspAsymmetricAlgorithm.cs
- XmlAttribute.cs
- WindowsPrincipal.cs
- DataGridViewRowConverter.cs
- SpeechSeg.cs
- CaseInsensitiveHashCodeProvider.cs
- EventProxy.cs
- DataGridDetailsPresenter.cs
- SqlDataReaderSmi.cs
- DrawingState.cs
- ServiceDefaults.cs
- TransformerConfigurationWizardBase.cs
- Brush.cs
- ArithmeticException.cs
- ObjectDataSourceFilteringEventArgs.cs
- NameSpaceEvent.cs
- DocumentPageTextView.cs
- DurableDispatcherAddressingFault.cs
- WMIInterop.cs
- DeflateStream.cs
- ViewPort3D.cs
- NonParentingControl.cs
- SqlDataAdapter.cs
- IChannel.cs
- Peer.cs
- GeometryModel3D.cs
- CodeIdentifiers.cs
- TextTreeInsertElementUndoUnit.cs
- DragStartedEventArgs.cs
- XhtmlBasicPageAdapter.cs
- ReadContentAsBinaryHelper.cs
- AbstractExpressions.cs
- ResponseBodyWriter.cs
- ThrowHelper.cs
- FontSource.cs
- XmlText.cs
- FontFamily.cs
- SchemaImporterExtension.cs
- CallSite.cs