Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1 / MultiAsyncResult.cs
namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // 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
- SecurityResources.cs
- RectIndependentAnimationStorage.cs
- LinqDataSourceView.cs
- OdbcDataAdapter.cs
- SqlUserDefinedAggregateAttribute.cs
- PingOptions.cs
- CryptoStream.cs
- ObjectDisposedException.cs
- LocationReference.cs
- MessageHeaderAttribute.cs
- SuppressIldasmAttribute.cs
- ButtonPopupAdapter.cs
- BamlRecordWriter.cs
- MimeWriter.cs
- TextTreeInsertUndoUnit.cs
- GeneralTransformGroup.cs
- RoutedEventConverter.cs
- Pens.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- TickBar.cs
- ConfigXmlComment.cs
- PeerContact.cs
- ListViewSelectEventArgs.cs
- SplineQuaternionKeyFrame.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Compilation.cs
- ServiceProviders.cs
- PageFunction.cs
- TextAction.cs
- BinaryObjectInfo.cs
- SqlGatherProducedAliases.cs
- MsmqHostedTransportManager.cs
- HttpModuleAction.cs
- Dynamic.cs
- PersonalizationStateInfoCollection.cs
- AdapterDictionary.cs
- Soap12ProtocolImporter.cs
- PageStatePersister.cs
- MultiView.cs
- FlowLayoutPanel.cs
- __Error.cs
- CqlQuery.cs
- CreateUserErrorEventArgs.cs
- SQLInt32Storage.cs
- HandlerBase.cs
- XmlCharCheckingWriter.cs
- OptimalBreakSession.cs
- CatalogPartChrome.cs
- HttpValueCollection.cs
- FollowerQueueCreator.cs
- RequestTimeoutManager.cs
- SmiMetaData.cs
- OutputCacheSettings.cs
- WindowsPrincipal.cs
- UserControlAutomationPeer.cs
- Publisher.cs
- ProfileService.cs
- NumberSubstitution.cs
- Ref.cs
- DataGridViewCellStateChangedEventArgs.cs
- LineBreak.cs
- SplineQuaternionKeyFrame.cs
- DataBoundControl.cs
- SqlDataSourceEnumerator.cs
- CreatingCookieEventArgs.cs
- MtomMessageEncodingBindingElement.cs
- PropertyDescriptorComparer.cs
- activationcontext.cs
- ComponentEditorPage.cs
- FrameworkElementAutomationPeer.cs
- QilXmlWriter.cs
- BinaryObjectReader.cs
- Parameter.cs
- XamlClipboardData.cs
- LineServicesCallbacks.cs
- AnonymousIdentificationModule.cs
- PerfService.cs
- __Filters.cs
- PeerCredential.cs
- HtmlFormParameterWriter.cs
- SmiMetaData.cs
- LayoutDump.cs
- CellPartitioner.cs
- UnsafeNativeMethodsMilCoreApi.cs
- DefaultSerializationProviderAttribute.cs
- DateTimeFormatInfoScanner.cs
- TranslateTransform.cs
- ImageList.cs
- DataGridViewTextBoxColumn.cs
- WhileDesigner.cs
- PointAnimationClockResource.cs
- BinaryParser.cs
- Accessors.cs
- SBCSCodePageEncoding.cs
- XmlILModule.cs
- DocComment.cs
- DataSetUtil.cs
- StylusButtonCollection.cs
- GPRECT.cs
- SchemaInfo.cs