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
- TouchesCapturedWithinProperty.cs
- RequestQueue.cs
- ReferenceCountedObject.cs
- Expressions.cs
- UIElementParaClient.cs
- ClientScriptItem.cs
- LOSFormatter.cs
- GatewayDefinition.cs
- DocComment.cs
- GenericIdentity.cs
- TrackingMemoryStream.cs
- Transactions.cs
- Native.cs
- XmlSchemaAnyAttribute.cs
- DataControlCommands.cs
- RawStylusInputReport.cs
- ProviderUtil.cs
- SecurityRuntime.cs
- RepeaterItemEventArgs.cs
- NTAccount.cs
- SettingsAttributeDictionary.cs
- Config.cs
- DbProviderFactoriesConfigurationHandler.cs
- InputProviderSite.cs
- UniqueConstraint.cs
- TypeReference.cs
- ButtonField.cs
- DbConnectionClosed.cs
- ControlTemplate.cs
- HistoryEventArgs.cs
- XPathItem.cs
- BasicKeyConstraint.cs
- XmlSchemaObject.cs
- HttpHandlerAction.cs
- HttpContext.cs
- XmlEnumAttribute.cs
- HttpCacheParams.cs
- SqlDelegatedTransaction.cs
- DynamicILGenerator.cs
- CustomGrammar.cs
- EdmConstants.cs
- XmlBufferReader.cs
- CollectionViewProxy.cs
- AppDomainShutdownMonitor.cs
- XmlSchemaSimpleTypeUnion.cs
- BitmapVisualManager.cs
- AsmxEndpointPickerExtension.cs
- CollectionView.cs
- Effect.cs
- HostedImpersonationContext.cs
- ChannelPool.cs
- MouseEventArgs.cs
- CompensatableTransactionScopeActivity.cs
- RealProxy.cs
- TCPListener.cs
- OneOf.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- StyleTypedPropertyAttribute.cs
- InternalPermissions.cs
- DictionaryBase.cs
- PanelDesigner.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TrayIconDesigner.cs
- Classification.cs
- assemblycache.cs
- OrderByBuilder.cs
- DataTableNewRowEvent.cs
- SqlCaseSimplifier.cs
- SqlRecordBuffer.cs
- UserControlBuildProvider.cs
- TextDocumentView.cs
- NTAccount.cs
- IxmlLineInfo.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- TraceSource.cs
- UrlPath.cs
- ToolStripSettings.cs
- PermissionSetTriple.cs
- WebPartConnectionsEventArgs.cs
- WorkflowMarkupSerializationProvider.cs
- PlainXmlDeserializer.cs
- AttributeSetAction.cs
- ByteStreamGeometryContext.cs
- HttpCapabilitiesSectionHandler.cs
- WindowsFormsSynchronizationContext.cs
- ListViewHitTestInfo.cs
- ServiceHostFactory.cs
- ComponentChangingEvent.cs
- ServiceModelActivity.cs
- IntSecurity.cs
- Paragraph.cs
- ListDictionaryInternal.cs
- X509SubjectKeyIdentifierClause.cs
- SspiHelper.cs
- DynamicActivityTypeDescriptor.cs
- ProxyGenerator.cs
- TextBox.cs
- ScriptResourceAttribute.cs
- ExpressionBuilderCollection.cs
- ConfigurationManagerHelper.cs