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
- DataSourceView.cs
- DBDataPermissionAttribute.cs
- CharAnimationBase.cs
- Thread.cs
- MdiWindowListItemConverter.cs
- SqlDataSourceView.cs
- SqlDataSourceFilteringEventArgs.cs
- SqlConnectionHelper.cs
- TemplateBindingExtension.cs
- KeyedByTypeCollection.cs
- _NegoStream.cs
- ToolStripPanelCell.cs
- StylusButtonEventArgs.cs
- NameSpaceExtractor.cs
- TdsParserStateObject.cs
- ClrPerspective.cs
- Base64Decoder.cs
- XmlSerializerSection.cs
- DesignerActionUIService.cs
- List.cs
- _emptywebproxy.cs
- QueryStringParameter.cs
- DecoderFallbackWithFailureFlag.cs
- AstTree.cs
- StringDictionaryEditor.cs
- DataBinder.cs
- OracleFactory.cs
- TemplateNodeContextMenu.cs
- TraceListeners.cs
- StronglyTypedResourceBuilder.cs
- Point.cs
- WindowsScrollBar.cs
- HMACSHA1.cs
- AutomationElement.cs
- SQLMoney.cs
- Selector.cs
- TreeViewCancelEvent.cs
- HostSecurityManager.cs
- ContextQuery.cs
- OpenTypeCommon.cs
- WorkflowValidationFailedException.cs
- NativeCompoundFileAPIs.cs
- EditorPart.cs
- UserPreference.cs
- HotSpotCollection.cs
- DataObjectCopyingEventArgs.cs
- SelectedDatesCollection.cs
- DiscoveryDocumentLinksPattern.cs
- SqlVersion.cs
- BaseValidator.cs
- StrongNameUtility.cs
- DummyDataSource.cs
- XmlAutoDetectWriter.cs
- FixedPageProcessor.cs
- TransformerInfo.cs
- DesignerCategoryAttribute.cs
- ObjectConverter.cs
- ObjectQueryProvider.cs
- ApplicationInfo.cs
- FamilyCollection.cs
- PrintDialogDesigner.cs
- OutputCacheSettingsSection.cs
- InternalPolicyElement.cs
- HierarchicalDataSourceIDConverter.cs
- RouteValueExpressionBuilder.cs
- WizardStepBase.cs
- UdpTransportBindingElement.cs
- ToolStripPanelDesigner.cs
- GiveFeedbackEvent.cs
- HwndSourceKeyboardInputSite.cs
- HtmlFormWrapper.cs
- TextParagraph.cs
- DocumentSequence.cs
- DataServiceRequest.cs
- HttpBrowserCapabilitiesWrapper.cs
- Graphics.cs
- WebPartDescription.cs
- ScrollContentPresenter.cs
- SimpleHandlerBuildProvider.cs
- FolderLevelBuildProvider.cs
- XmlWhitespace.cs
- CollectionBase.cs
- AxisAngleRotation3D.cs
- CurrencyWrapper.cs
- DataTableReader.cs
- XhtmlConformanceSection.cs
- CheckableControlBaseAdapter.cs
- EntityProxyTypeInfo.cs
- QualificationDataAttribute.cs
- FusionWrap.cs
- EmbeddedMailObjectsCollection.cs
- FindCriteriaApril2005.cs
- TimeZoneNotFoundException.cs
- WebPartEditVerb.cs
- _SingleItemRequestCache.cs
- AnimationClockResource.cs
- IdentityNotMappedException.cs
- DiscoveryViaBehavior.cs
- securitycriticaldata.cs
- ObjectDataSourceFilteringEventArgs.cs