Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SimpleWorkerRequest.cs
- XmlBoundElement.cs
- OracleDataReader.cs
- SmiEventSink_Default.cs
- QueryCacheEntry.cs
- MissingFieldException.cs
- DockAndAnchorLayout.cs
- ChannelTerminatedException.cs
- XmlEnumAttribute.cs
- WindowsIdentity.cs
- EntityContainerAssociationSetEnd.cs
- DebugView.cs
- XmlArrayItemAttribute.cs
- DataGridGeneralPage.cs
- AutoGeneratedField.cs
- Delegate.cs
- EDesignUtil.cs
- OpCodes.cs
- DesignTimeVisibleAttribute.cs
- EncryptedReference.cs
- SqlMethodCallConverter.cs
- StringCollection.cs
- WebResourceAttribute.cs
- BamlReader.cs
- _ConnectionGroup.cs
- AbstractSvcMapFileLoader.cs
- ResolveDuplex11AsyncResult.cs
- ApplicationSecurityManager.cs
- TogglePattern.cs
- DesignTimeParseData.cs
- CreateRefExpr.cs
- BulletDecorator.cs
- ToolStripPanelCell.cs
- FocusWithinProperty.cs
- ConnectionStringsExpressionBuilder.cs
- PartitionedDataSource.cs
- CharEnumerator.cs
- _SslState.cs
- SHA384Managed.cs
- CacheHelper.cs
- XmlSchemaException.cs
- NavigationPropertyEmitter.cs
- GroupPartitionExpr.cs
- PropertyDescriptorComparer.cs
- PositiveTimeSpanValidator.cs
- InvariantComparer.cs
- HttpStreams.cs
- RelationshipNavigation.cs
- MediaSystem.cs
- AxHost.cs
- GiveFeedbackEvent.cs
- XmlCollation.cs
- DupHandleConnectionReader.cs
- SimpleColumnProvider.cs
- HScrollBar.cs
- HostedTcpTransportManager.cs
- SafeEventLogWriteHandle.cs
- EnumValidator.cs
- ApplicationFileParser.cs
- CookielessHelper.cs
- ReadOnlyCollection.cs
- MediaPlayer.cs
- PrimitiveType.cs
- HtmlControl.cs
- StringSorter.cs
- datacache.cs
- HelpEvent.cs
- RoutedEventArgs.cs
- ConversionContext.cs
- PasswordBox.cs
- RoutedEventConverter.cs
- GroupQuery.cs
- AppSecurityManager.cs
- InstalledFontCollection.cs
- XmlDataImplementation.cs
- DelegatingTypeDescriptionProvider.cs
- ItemList.cs
- HtmlControlPersistable.cs
- MdiWindowListStrip.cs
- PartialCachingAttribute.cs
- ResolveNameEventArgs.cs
- DynamicVirtualDiscoSearcher.cs
- GenericTextProperties.cs
- TimeSpanValidator.cs
- DefaultHttpHandler.cs
- DesignerCommandAdapter.cs
- RowToFieldTransformer.cs
- SpecularMaterial.cs
- ParagraphResult.cs
- PathBox.cs
- RuleInfoComparer.cs
- StrokeFIndices.cs
- HttpModulesSection.cs
- ComponentEvent.cs
- RequestCache.cs
- Margins.cs
- GraphicsContainer.cs
- Sql8ConformanceChecker.cs
- LabelAutomationPeer.cs
- JobPageOrder.cs