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
- ObjectContext.cs
- _UriSyntax.cs
- SvcMapFileLoader.cs
- XmlCharCheckingReader.cs
- ExtendedPropertyCollection.cs
- RequestBringIntoViewEventArgs.cs
- ArithmeticException.cs
- ResourcesGenerator.cs
- ListViewInsertionMark.cs
- PenLineJoinValidation.cs
- Drawing.cs
- KeyedCollection.cs
- GeometryCollection.cs
- GifBitmapDecoder.cs
- BevelBitmapEffect.cs
- TraceUtility.cs
- CustomAttributeBuilder.cs
- FatalException.cs
- CodeSubDirectory.cs
- DataTransferEventArgs.cs
- PropertyChangeTracker.cs
- ReadWriteObjectLock.cs
- SHA384.cs
- RectAnimationUsingKeyFrames.cs
- NonSerializedAttribute.cs
- PropertyDescriptorGridEntry.cs
- BlurEffect.cs
- ControlCachePolicy.cs
- InkCanvasInnerCanvas.cs
- CodeVariableReferenceExpression.cs
- GenericEnumerator.cs
- StdRegProviderWrapper.cs
- DataTableReaderListener.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Root.cs
- TextParagraphCache.cs
- SRDisplayNameAttribute.cs
- TimeoutException.cs
- AssemblyUtil.cs
- DragEventArgs.cs
- EntityDataSourceContainerNameConverter.cs
- UIAgentMonitorHandle.cs
- SiteMapDataSourceView.cs
- Message.cs
- BidOverLoads.cs
- DataBoundControlAdapter.cs
- ProtectedConfiguration.cs
- ResourcePart.cs
- GraphicsContainer.cs
- Button.cs
- SQLDecimalStorage.cs
- SiteMapPath.cs
- TemplateBindingExtensionConverter.cs
- ErrorBehavior.cs
- CurrentChangingEventManager.cs
- BinaryObjectReader.cs
- Calendar.cs
- CapabilitiesState.cs
- TreeNodeCollection.cs
- VersionedStream.cs
- DiffuseMaterial.cs
- SecurityElement.cs
- FixUp.cs
- MimeTypePropertyAttribute.cs
- Icon.cs
- DataObject.cs
- PersonalizationStateInfo.cs
- IndexerNameAttribute.cs
- PropertyValueChangedEvent.cs
- loginstatus.cs
- HtmlUtf8RawTextWriter.cs
- ArcSegment.cs
- ParameterModifier.cs
- MutexSecurity.cs
- Pkcs7Recipient.cs
- TemplateControlParser.cs
- TiffBitmapEncoder.cs
- ActivityStatusChangeEventArgs.cs
- CodeTypeDeclarationCollection.cs
- SqlDataReader.cs
- DrawingVisual.cs
- StylusEventArgs.cs
- FixedSOMTableCell.cs
- GCHandleCookieTable.cs
- WebPermission.cs
- CacheMemory.cs
- Mappings.cs
- AsyncSerializedWorker.cs
- ResourcesChangeInfo.cs
- KeyPressEvent.cs
- EventSourceCreationData.cs
- StringSource.cs
- ComPlusInstanceContextInitializer.cs
- WebPartConnectVerb.cs
- coordinatorscratchpad.cs
- DBConnection.cs
- PowerStatus.cs
- Int64.cs
- EntityDataSourceQueryBuilder.cs
- CodeDOMProvider.cs