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
- HtmlForm.cs
- Margins.cs
- ButtonBase.cs
- VirtualPathProvider.cs
- OracleParameterCollection.cs
- DotExpr.cs
- DateTimeAutomationPeer.cs
- ExternalException.cs
- HttpDictionary.cs
- ContextMenuAutomationPeer.cs
- EditorZoneBase.cs
- StylusPointProperty.cs
- Range.cs
- XmlException.cs
- QueryPrefixOp.cs
- EventArgs.cs
- ReadOnlyDataSource.cs
- ParallelTimeline.cs
- _SingleItemRequestCache.cs
- CompoundFileReference.cs
- MemoryResponseElement.cs
- DocumentAutomationPeer.cs
- VariableQuery.cs
- HtmlSelect.cs
- IntPtr.cs
- MailAddress.cs
- SetterBase.cs
- PolicyException.cs
- SiblingIterators.cs
- ObjectDataSourceEventArgs.cs
- CompilerTypeWithParams.cs
- SchemaMapping.cs
- AstTree.cs
- SqlInfoMessageEvent.cs
- XamlFigureLengthSerializer.cs
- TPLETWProvider.cs
- FileVersionInfo.cs
- TextProviderWrapper.cs
- SHA512.cs
- ConfigurationSchemaErrors.cs
- ProxyWebPartManager.cs
- SurrogateSelector.cs
- XmlQualifiedName.cs
- HandlerFactoryCache.cs
- InstanceKeyCompleteException.cs
- activationcontext.cs
- BitmapFrameDecode.cs
- Translator.cs
- ContextBase.cs
- SqlSupersetValidator.cs
- httpserverutility.cs
- TokenizerHelper.cs
- DesignerProperties.cs
- HtmlLabelAdapter.cs
- Ref.cs
- CompilationLock.cs
- XmlSerializer.cs
- CqlQuery.cs
- NestedContainer.cs
- MouseGestureValueSerializer.cs
- ComponentResourceManager.cs
- DataGridTextBoxColumn.cs
- Pair.cs
- CodeMemberProperty.cs
- OrthographicCamera.cs
- filewebrequest.cs
- XamlTreeBuilderBamlRecordWriter.cs
- UrlMappingsModule.cs
- RegionInfo.cs
- Range.cs
- UnmanagedMemoryStream.cs
- HttpContext.cs
- SqlUdtInfo.cs
- Rule.cs
- formatter.cs
- EditableLabelControl.cs
- templategroup.cs
- SystemResourceKey.cs
- MenuCommandsChangedEventArgs.cs
- PermissionToken.cs
- MetadataItemEmitter.cs
- ServiceHttpHandlerFactory.cs
- DebugControllerThread.cs
- ShimAsPublicXamlType.cs
- RemoteCryptoSignHashRequest.cs
- ChineseLunisolarCalendar.cs
- LogAppendAsyncResult.cs
- NGCSerializationManager.cs
- Utils.cs
- TextEditorCopyPaste.cs
- XmlChildNodes.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- SqlFormatter.cs
- Binding.cs
- SspiHelper.cs
- DeleteHelper.cs
- httpserverutility.cs
- XmlIlVisitor.cs
- FormClosingEvent.cs
- HtmlInputText.cs