Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / Hosting / WorkflowTransactionService.cs / 1305376 / WorkflowTransactionService.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- #region Using directives using System; using System.Transactions; #endregion namespace System.Workflow.Runtime.Hosting { public abstract class WorkflowCommitWorkBatchService : WorkflowRuntimeService { public delegate void CommitWorkBatchCallback(); virtual internal protected void CommitWorkBatch(CommitWorkBatchCallback commitWorkBatchCallback) { Transaction tx = null; if (null == Transaction.Current) tx = new CommittableTransaction(); else tx = Transaction.Current.DependentClone(DependentCloneOption.BlockCommitUntilComplete); try { using (TransactionScope ts = new TransactionScope(tx)) { commitWorkBatchCallback(); ts.Complete(); } CommittableTransaction committableTransaction = tx as CommittableTransaction; if (committableTransaction != null) committableTransaction.Commit(); DependentTransaction dependentTransaction = tx as DependentTransaction; if (dependentTransaction != null) dependentTransaction.Complete(); } catch (Exception e) { tx.Rollback(e); throw; } finally { if (tx != null) { tx.Dispose(); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DateTimeUtil.cs
- ConfigXmlAttribute.cs
- ObjectHandle.cs
- MultiBinding.cs
- CodeTypeMemberCollection.cs
- Types.cs
- SiteMapHierarchicalDataSourceView.cs
- ThousandthOfEmRealDoubles.cs
- QuerySubExprEliminator.cs
- TextEffectCollection.cs
- ProcessInfo.cs
- XPathMultyIterator.cs
- StandardCommands.cs
- KeyMatchBuilder.cs
- SwitchLevelAttribute.cs
- DuplicateWaitObjectException.cs
- DurableRuntimeValidator.cs
- XmlNamespaceMapping.cs
- ObjectItemCollection.cs
- RightsManagementUser.cs
- PathFigure.cs
- DataServiceQueryOfT.cs
- BindUriHelper.cs
- RtType.cs
- TextEditorContextMenu.cs
- comcontractssection.cs
- PolicyLevel.cs
- DoubleLinkListEnumerator.cs
- ArgIterator.cs
- PersonalizationProviderCollection.cs
- ObjectIDGenerator.cs
- ObjectRef.cs
- SqlDataSourceSelectingEventArgs.cs
- ResourceExpressionBuilder.cs
- _AutoWebProxyScriptEngine.cs
- AlternationConverter.cs
- RelationshipDetailsCollection.cs
- _TLSstream.cs
- UnsettableComboBox.cs
- View.cs
- VisualStyleTypesAndProperties.cs
- ErrorTableItemStyle.cs
- TreeViewHitTestInfo.cs
- Vector3DCollection.cs
- StandardBindingElement.cs
- ButtonColumn.cs
- AutomationIdentifierGuids.cs
- RadioButtonRenderer.cs
- CompleteWizardStep.cs
- StylusOverProperty.cs
- AnnotationStore.cs
- ReferentialConstraintRoleElement.cs
- SrgsRuleRef.cs
- TreeNodeStyleCollection.cs
- CookieParameter.cs
- PtsHelper.cs
- WebPartCloseVerb.cs
- EditorPart.cs
- PersonalizationProvider.cs
- ApplicationServiceHelper.cs
- OleDbTransaction.cs
- ProtocolsConfigurationEntry.cs
- BrowserCapabilitiesCompiler.cs
- PublisherIdentityPermission.cs
- ResourcePermissionBase.cs
- StandardCommands.cs
- RootBuilder.cs
- X500Name.cs
- SafeArrayRankMismatchException.cs
- TrackingRecord.cs
- AssemblyBuilderData.cs
- PasswordBoxAutomationPeer.cs
- Cell.cs
- Point3DCollection.cs
- ImageAttributes.cs
- EditorZoneBase.cs
- ParseNumbers.cs
- BuildResult.cs
- ComboBoxAutomationPeer.cs
- DnsPermission.cs
- SupportsEventValidationAttribute.cs
- GroupBox.cs
- NameSpaceExtractor.cs
- FlowchartStart.xaml.cs
- MatrixTransform3D.cs
- MarkerProperties.cs
- ProviderUtil.cs
- QueueAccessMode.cs
- DoubleLink.cs
- MethodMessage.cs
- ArgumentValueSerializer.cs
- COM2IDispatchConverter.cs
- SingleTagSectionHandler.cs
- SvcFileManager.cs
- ReachFixedPageSerializer.cs
- BlockCollection.cs
- ObjectCloneHelper.cs
- CompositeControl.cs
- DataTableClearEvent.cs
- SafeUserTokenHandle.cs