Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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. //------------------------------------------------------------------------------ //// 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
- QueryCacheManager.cs
- JsonCollectionDataContract.cs
- SecUtil.cs
- Sql8ConformanceChecker.cs
- IdentitySection.cs
- KnownAssembliesSet.cs
- BindingList.cs
- ActiveXContainer.cs
- URLMembershipCondition.cs
- ToolStripControlHost.cs
- ListComponentEditor.cs
- CompositeDesignerAccessibleObject.cs
- UriTemplateMatch.cs
- MemberDomainMap.cs
- ButtonAutomationPeer.cs
- DocumentSchemaValidator.cs
- AuthorizationContext.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- RichTextBoxConstants.cs
- HandleCollector.cs
- TableCellAutomationPeer.cs
- SmiRecordBuffer.cs
- BitHelper.cs
- UseManagedPresentationBindingElement.cs
- _SecureChannel.cs
- SettingsSection.cs
- PolyBezierSegmentFigureLogic.cs
- SecurityHelper.cs
- ResourceProviderFactory.cs
- InvalidCastException.cs
- KnownColorTable.cs
- AsyncStreamReader.cs
- SingleAnimationBase.cs
- MatrixTransform.cs
- ActivityStateRecord.cs
- TabPanel.cs
- HashAlgorithm.cs
- ComponentChangedEvent.cs
- BaseValidatorDesigner.cs
- Material.cs
- _LoggingObject.cs
- SafeFileMappingHandle.cs
- LocatorPartList.cs
- EntityDataSourceDataSelectionPanel.cs
- FormsAuthenticationUser.cs
- SqlErrorCollection.cs
- Journaling.cs
- BaseDataList.cs
- ClipboardData.cs
- WindowCollection.cs
- DatasetMethodGenerator.cs
- RuntimeCompatibilityAttribute.cs
- DropShadowBitmapEffect.cs
- CodeMemberProperty.cs
- ClientViaElement.cs
- ResourceContainerWrapper.cs
- HScrollBar.cs
- ContainerAction.cs
- SimpleBitVector32.cs
- ModelItemKeyValuePair.cs
- MenuItem.cs
- Baml2006ReaderFrame.cs
- HttpModulesSection.cs
- BoundingRectTracker.cs
- ComEventsHelper.cs
- TargetControlTypeAttribute.cs
- SchemaLookupTable.cs
- RowType.cs
- ThreadLocal.cs
- BehaviorEditorPart.cs
- AttachedPropertyBrowsableAttribute.cs
- UiaCoreApi.cs
- MenuItem.cs
- AdjustableArrowCap.cs
- SchemaImporterExtensionsSection.cs
- Predicate.cs
- BasicBrowserDialog.cs
- ColumnHeader.cs
- ImageButton.cs
- OleDbConnectionInternal.cs
- PointUtil.cs
- EmptyEnumerator.cs
- TextOptions.cs
- SqlNodeAnnotations.cs
- StorageMappingItemLoader.cs
- XpsS0ValidatingLoader.cs
- VariableAction.cs
- PropertyInformation.cs
- AbstractSvcMapFileLoader.cs
- XhtmlBasicListAdapter.cs
- DataObjectFieldAttribute.cs
- HtmlMeta.cs
- Models.cs
- RestClientProxyHandler.cs
- ObjectListField.cs
- ResourceSetExpression.cs
- TagPrefixAttribute.cs
- WebConfigurationHostFileChange.cs
- HttpCachePolicy.cs
- ErrorEventArgs.cs