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
- SchemaCollectionPreprocessor.cs
- DesignerRegionMouseEventArgs.cs
- GACIdentityPermission.cs
- Delegate.cs
- EdmMember.cs
- NonVisualControlAttribute.cs
- TypeExtension.cs
- SchemaConstraints.cs
- SrgsElementFactoryCompiler.cs
- StylusLogic.cs
- ToolStripOverflowButton.cs
- NoneExcludedImageIndexConverter.cs
- XmlSchemaObjectCollection.cs
- BaseTemplateParser.cs
- ResourceProviderFactory.cs
- PriorityRange.cs
- DataGridCaption.cs
- ActivityExecutionFilter.cs
- TaiwanLunisolarCalendar.cs
- SourceFileBuildProvider.cs
- TabControlEvent.cs
- MethodImplAttribute.cs
- GenericNameHandler.cs
- DocumentReferenceCollection.cs
- Splitter.cs
- BuildResult.cs
- EventLogStatus.cs
- DataConnectionHelper.cs
- CmsInterop.cs
- MobileContainerDesigner.cs
- FrameworkElement.cs
- EncryptedData.cs
- ProtocolViolationException.cs
- ManualResetEvent.cs
- ComponentSerializationService.cs
- CacheVirtualItemsEvent.cs
- TableProvider.cs
- SizeChangedInfo.cs
- SerialErrors.cs
- WsdlContractConversionContext.cs
- SymDocumentType.cs
- _ConnectStream.cs
- Authorization.cs
- BaseDataList.cs
- ColumnWidthChangedEvent.cs
- TextClipboardData.cs
- InvalidFilterCriteriaException.cs
- Form.cs
- StagingAreaInputItem.cs
- IntSecurity.cs
- MainMenu.cs
- DispatchRuntime.cs
- EventDescriptor.cs
- PointConverter.cs
- PrincipalPermissionMode.cs
- WebControl.cs
- DataGridColumnEventArgs.cs
- ScriptingAuthenticationServiceSection.cs
- RegexWorker.cs
- GenericEnumerator.cs
- HitTestParameters3D.cs
- DataContract.cs
- RegexCaptureCollection.cs
- WorkflowServiceBehavior.cs
- SharedStatics.cs
- DataGridViewButtonColumn.cs
- AQNBuilder.cs
- NativeBuffer.cs
- DataPagerCommandEventArgs.cs
- LinqDataSourceValidationException.cs
- ScriptingScriptResourceHandlerSection.cs
- FormatStringEditor.cs
- TreeView.cs
- RoleGroup.cs
- SafeHandle.cs
- RegexTree.cs
- SqlBulkCopyColumnMappingCollection.cs
- FtpWebResponse.cs
- TemplateControl.cs
- AsymmetricSignatureFormatter.cs
- CodeCommentStatementCollection.cs
- dbenumerator.cs
- XmlSchemaComplexContentRestriction.cs
- DeviceContexts.cs
- MenuItem.cs
- StylusSystemGestureEventArgs.cs
- ParsedAttributeCollection.cs
- RoutedEventHandlerInfo.cs
- SqlWebEventProvider.cs
- QilPatternVisitor.cs
- MdiWindowListStrip.cs
- WebPartTransformer.cs
- SynchronizationContext.cs
- DataControlFieldHeaderCell.cs
- TileBrush.cs
- OleDbRowUpdatedEvent.cs
- TransformedBitmap.cs
- WorkflowIdleElement.cs
- BookmarkScopeHandle.cs
- DateTimeStorage.cs