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
- CustomErrorCollection.cs
- SortedList.cs
- GridViewEditEventArgs.cs
- CaseStatement.cs
- TryCatchDesigner.xaml.cs
- SqlAliaser.cs
- Identity.cs
- ImageListStreamer.cs
- MediaContextNotificationWindow.cs
- WorkflowRuntimeService.cs
- PointCollectionConverter.cs
- ListDictionaryInternal.cs
- DeviceContext2.cs
- RawStylusInputCustomDataList.cs
- HtmlButton.cs
- DataServiceQueryOfT.cs
- SmiRecordBuffer.cs
- ExtendedPropertiesHandler.cs
- CodeGenerationManager.cs
- CodeExporter.cs
- GeneralTransform2DTo3DTo2D.cs
- SystemBrushes.cs
- WebSysDefaultValueAttribute.cs
- SuppressMessageAttribute.cs
- GenerateScriptTypeAttribute.cs
- TextTreeRootNode.cs
- WebPartCancelEventArgs.cs
- UIntPtr.cs
- CachedPathData.cs
- WebPartConnectionsCloseVerb.cs
- OleDbException.cs
- CFGGrammar.cs
- LoginView.cs
- SrgsDocument.cs
- ExternalDataExchangeClient.cs
- MenuItem.cs
- XmlParser.cs
- ToolStripOverflow.cs
- DataPagerFieldItem.cs
- UrlMappingsModule.cs
- SqlBuffer.cs
- EntityViewContainer.cs
- TabControlDesigner.cs
- CqlLexerHelpers.cs
- Scene3D.cs
- MethodSet.cs
- TraceHandler.cs
- QueuePropertyVariants.cs
- InstallerTypeAttribute.cs
- CoordinationService.cs
- KeyedCollection.cs
- IERequestCache.cs
- EdmToObjectNamespaceMap.cs
- MouseOverProperty.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DigestTraceRecordHelper.cs
- Currency.cs
- BinaryCommonClasses.cs
- ConfigurationLockCollection.cs
- Model3D.cs
- SmiXetterAccessMap.cs
- SelectedDatesCollection.cs
- PolygonHotSpot.cs
- xamlnodes.cs
- AssociationEndMember.cs
- DataTablePropertyDescriptor.cs
- XamlInterfaces.cs
- TableRowsCollectionEditor.cs
- ProcessModuleCollection.cs
- InvalidContentTypeException.cs
- KeyBinding.cs
- DetailsViewCommandEventArgs.cs
- SortDescription.cs
- DesignerResources.cs
- TypeDefinition.cs
- MsmqIntegrationSecurityElement.cs
- ObjectStateManager.cs
- TextParagraphProperties.cs
- SQLSingleStorage.cs
- UrlMappingCollection.cs
- LicenseContext.cs
- FigureHelper.cs
- CustomValidator.cs
- SqlProcedureAttribute.cs
- Constraint.cs
- ExpressionBuilder.cs
- MultipartContentParser.cs
- SqlNode.cs
- EventEntry.cs
- Vector.cs
- CodeAccessSecurityEngine.cs
- DESCryptoServiceProvider.cs
- BitmapImage.cs
- MsmqProcessProtocolHandler.cs
- XmlILIndex.cs
- SHA512.cs
- AdministrationHelpers.cs
- JsonUriDataContract.cs
- WebPartsPersonalizationAuthorization.cs
- ReferentialConstraint.cs