Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / ExecutorLocksHeldException.cs / 1305376 / ExecutorLocksHeldException.cs
// **************************************************************************** // Copyright (C) 2000-2001 Microsoft Corporation. All rights reserved. // // CONTENTS // Workflow Base exception class // // DESCRIPTION // Base class for WINOE Runtime engine exception // // REVISIONS // Date Ver By Remarks // ~~~~~~~~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~ // 03/08/01 1.0 [....] Created. // *************************************************************************** using System; using System.Runtime.Serialization; using System.Security.Permissions; using System.Collections.Generic; using System.Globalization; using System.Threading; using System.Workflow; using System.Workflow.Runtime; using System.Workflow.ComponentModel; namespace System.Workflow.Runtime { /* * The Unload() method has been changed so that * any Unload requests made while in the middle of an atomic * transaction wait for the atomic transaction to complete. * This makes use of an ManualResetEvent. Unload() waits on the event: * theEvent.WaitOne() * But waiting with the executor and scheduler locks held * will block everything else. * * The solution is to have a custom internal exception class that has the * ManualResetEvent as an internal property. If Unload() finds itself in the middle * of an atomic transaction, it throws the Exception. The Exception is propogated upwards * until we reach the method that was the first to grab the executor lock. * * We then drop that lock and wait on the event handle. As soon as the handle is * Set() by DisposeTransaction(), we grab the executor lock and do everything all over. */ internal class ExecutorLocksHeldException : Exception { private ManualResetEvent handle; public ExecutorLocksHeldException(ManualResetEvent handle) { this.handle = handle; } internal ManualResetEvent Handle { get { return handle; } } } } // 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
- CacheVirtualItemsEvent.cs
- PathFigure.cs
- NullableDecimalAverageAggregationOperator.cs
- ItemContainerGenerator.cs
- DataContext.cs
- DependencyPropertyDescriptor.cs
- Literal.cs
- ParenthesizePropertyNameAttribute.cs
- NullReferenceException.cs
- WebServiceHost.cs
- WinEventQueueItem.cs
- storepermission.cs
- ParallelTimeline.cs
- PolygonHotSpot.cs
- ProtectedProviderSettings.cs
- SeekStoryboard.cs
- CellRelation.cs
- RepeaterCommandEventArgs.cs
- RootProjectionNode.cs
- TextBlockAutomationPeer.cs
- XmlComplianceUtil.cs
- ComboBox.cs
- OptimizedTemplateContent.cs
- DescendentsWalkerBase.cs
- TdsParameterSetter.cs
- FaultCallbackWrapper.cs
- SHA256Managed.cs
- ListChangedEventArgs.cs
- DrawingAttributeSerializer.cs
- FormsAuthenticationTicket.cs
- BaseTypeViewSchema.cs
- URLMembershipCondition.cs
- DbMetaDataFactory.cs
- SqlDataSourceCustomCommandEditor.cs
- ProtocolsConfiguration.cs
- AnnouncementInnerClientCD1.cs
- FilterableAttribute.cs
- PtsContext.cs
- Script.cs
- DeobfuscatingStream.cs
- CategoryNameCollection.cs
- SqlSelectClauseBuilder.cs
- AliasedSlot.cs
- CharacterString.cs
- BlockCollection.cs
- Authorization.cs
- EntityDescriptor.cs
- DataGridViewCellMouseEventArgs.cs
- ConfigUtil.cs
- TreeWalkHelper.cs
- ColorContext.cs
- MenuItem.cs
- PreviewPageInfo.cs
- SourceChangedEventArgs.cs
- TextServicesLoader.cs
- EntityCollection.cs
- BufferAllocator.cs
- WebPartVerbCollection.cs
- ComplexTypeEmitter.cs
- XamlPointCollectionSerializer.cs
- CodeBinaryOperatorExpression.cs
- ComponentGlyph.cs
- PixelFormat.cs
- GlyphTypeface.cs
- HttpCachePolicyElement.cs
- ChtmlImageAdapter.cs
- SQLGuidStorage.cs
- RuntimeEnvironment.cs
- ProxyAttribute.cs
- FigureParagraph.cs
- ProfileManager.cs
- RuntimeTrackingProfile.cs
- PassportAuthentication.cs
- Activator.cs
- XmlTextWriter.cs
- ReadOnlyMetadataCollection.cs
- XPathAxisIterator.cs
- CharUnicodeInfo.cs
- WebSysDefaultValueAttribute.cs
- GridEntryCollection.cs
- EncoderReplacementFallback.cs
- AesManaged.cs
- xsdvalidator.cs
- MasterPageBuildProvider.cs
- XmlValidatingReader.cs
- PageBreakRecord.cs
- ObjectStateFormatter.cs
- StylusPoint.cs
- LayoutInformation.cs
- XPathMultyIterator.cs
- PolyQuadraticBezierSegment.cs
- CapacityStreamGeometryContext.cs
- Evidence.cs
- EventHandlerService.cs
- CodeMethodInvokeExpression.cs
- TypefaceCollection.cs
- KoreanLunisolarCalendar.cs
- HttpCachePolicy.cs
- ComponentResourceManager.cs
- TargetPerspective.cs