Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / ServiceModel / Dispatcher / DurableOperationContext.cs / 1305376 / DurableOperationContext.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.ServiceModel.Description; public static class DurableOperationContext { public static Guid InstanceId { get { ServiceDurableInstance durableInstance = GetInstanceContextExtension(); return durableInstance.InstanceId; } } public static void AbortInstance() { ServiceDurableInstance durableInstance = GetInstanceContextExtension(); durableInstance.AbortInstance(); } public static void CompleteInstance() { ServiceDurableInstance durableInstance = GetInstanceContextExtension(); durableInstance.MarkForCompletion(); } internal static void BeginOperation() { OperationContext operationContext = OperationContext.Current; if (operationContext != null) { operationContext.Extensions.Add(new DurableOperationContext.IsInOperation()); } } internal static void EndOperation() { OperationContext operationContext = OperationContext.Current; if (operationContext != null) { DurableOperationContext.IsInOperation isInOperation = operationContext.Extensions.Find(); if (isInOperation != null) { operationContext.Extensions.Remove(isInOperation); } } } static ServiceDurableInstance GetInstanceContextExtension() { OperationContext operationContext = OperationContext.Current; if (operationContext == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString( SR2.OnlyCallableFromServiceOperation, typeof(DurableOperationContext).Name))); } IsInOperation isInOperation = operationContext.Extensions.Find (); if (isInOperation == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString( SR2.OnlyCallableWhileInOperation, typeof(DurableOperationContext).Name))); } InstanceContext currentInstanceContext = operationContext.InstanceContext; if (currentInstanceContext == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString( SR2.OnlyCallableFromServiceOperation, typeof(DurableOperationContext).Name))); } ServiceDurableInstance durableInstance = currentInstanceContext.Extensions.Find (); if (durableInstance == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString( SR2.OnlyCallableFromDurableService, typeof(DurableOperationContext).Name, typeof(DurableServiceAttribute).Name))); } return durableInstance; } class IsInOperation : IExtension { public void Attach(OperationContext owner) { } public void Detach(OperationContext owner) { } } } } // 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
- ValidationEventArgs.cs
- TransportDefaults.cs
- EventLogInformation.cs
- TableParaClient.cs
- CodeExpressionCollection.cs
- MetadataSerializer.cs
- Queue.cs
- SingleConverter.cs
- EditorAttribute.cs
- FormViewUpdatedEventArgs.cs
- BaseCAMarshaler.cs
- DriveNotFoundException.cs
- StylusDownEventArgs.cs
- UniqueConstraint.cs
- SortDescription.cs
- MdImport.cs
- FocusWithinProperty.cs
- Fonts.cs
- TextEditorLists.cs
- CollectionViewProxy.cs
- ExpressionConverter.cs
- WindowsStartMenu.cs
- PnrpPermission.cs
- XXXOnTypeBuilderInstantiation.cs
- InvariantComparer.cs
- DeclarativeCatalogPart.cs
- RepeaterItemCollection.cs
- TabPage.cs
- SqlTriggerAttribute.cs
- Underline.cs
- CodeCatchClauseCollection.cs
- FixedPage.cs
- Size.cs
- XmlQualifiedName.cs
- ApplicationInterop.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- BaseParser.cs
- PropertyDescriptors.cs
- SqlConnectionPoolGroupProviderInfo.cs
- HtmlContainerControl.cs
- IChannel.cs
- MetabaseServerConfig.cs
- DynamicDocumentPaginator.cs
- AppDomainEvidenceFactory.cs
- AutomationEvent.cs
- RealizationContext.cs
- EntityDataSourceEntityTypeFilterItem.cs
- WorkflowQueuingService.cs
- GZipStream.cs
- Stack.cs
- DynamicHyperLink.cs
- BindingGroup.cs
- SqlDataSourceSummaryPanel.cs
- followingquery.cs
- OLEDB_Util.cs
- PointAnimationClockResource.cs
- Floater.cs
- SignedPkcs7.cs
- ContentElementAutomationPeer.cs
- UInt32.cs
- ScrollProperties.cs
- GlobalProxySelection.cs
- TextModifier.cs
- controlskin.cs
- EncoderParameters.cs
- ViewKeyConstraint.cs
- PartBasedPackageProperties.cs
- DataList.cs
- DataServiceHostWrapper.cs
- _AutoWebProxyScriptEngine.cs
- PowerModeChangedEventArgs.cs
- Adorner.cs
- Opcode.cs
- ChildChangedEventArgs.cs
- ContextMenu.cs
- CheckBox.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- FontFamily.cs
- MappingException.cs
- WorkflowMarkupSerializationProvider.cs
- Transform3DCollection.cs
- FixedSOMElement.cs
- LogReservationCollection.cs
- DateTimeParse.cs
- DataSourceCollectionBase.cs
- StorageEntityTypeMapping.cs
- ReferentialConstraint.cs
- ParameterCollection.cs
- SimpleWebHandlerParser.cs
- SecurityImpersonationBehavior.cs
- MailMessageEventArgs.cs
- SystemIcmpV4Statistics.cs
- TimeSpan.cs
- SynchronousReceiveBehavior.cs
- ModulesEntry.cs
- TypeTypeConverter.cs
- BoundField.cs
- TemplateBindingExtension.cs
- TextBreakpoint.cs
- MailMessage.cs