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
- ProxyManager.cs
- SafeEventLogWriteHandle.cs
- ImportContext.cs
- DataGridViewCellValueEventArgs.cs
- Subset.cs
- ServiceBusyException.cs
- _SSPIWrapper.cs
- LocalizedNameDescriptionPair.cs
- WebRequestModuleElement.cs
- GenerateTemporaryTargetAssembly.cs
- CounterCreationData.cs
- DatePickerAutomationPeer.cs
- URLAttribute.cs
- MaskedTextBox.cs
- SystemIcons.cs
- FileCodeGroup.cs
- ProxyHelper.cs
- TextSelectionHighlightLayer.cs
- TraceListener.cs
- DropTarget.cs
- JpegBitmapEncoder.cs
- CreateRefExpr.cs
- WorkerProcess.cs
- QueuePropertyVariants.cs
- XmlEntityReference.cs
- BamlRecords.cs
- List.cs
- TimelineCollection.cs
- TextEditor.cs
- DbModificationClause.cs
- Line.cs
- followingsibling.cs
- CodeExporter.cs
- XmlReflectionImporter.cs
- OleDbDataReader.cs
- ConsumerConnectionPoint.cs
- QfeChecker.cs
- RelativeSource.cs
- XmlFormatReaderGenerator.cs
- ImageSource.cs
- EmptyEnumerable.cs
- ThreadStartException.cs
- IndexedEnumerable.cs
- SettingsAttributeDictionary.cs
- Configuration.cs
- XsdBuildProvider.cs
- InternalEnumValidator.cs
- HttpClientCertificate.cs
- XmlCompatibilityReader.cs
- OutputCacheSettingsSection.cs
- AddInServer.cs
- QuaternionRotation3D.cs
- PrivilegeNotHeldException.cs
- ScrollBarAutomationPeer.cs
- DocumentPage.cs
- DefaultBinder.cs
- Underline.cs
- ListViewSortEventArgs.cs
- SoapObjectWriter.cs
- SafeNativeHandle.cs
- MediaCommands.cs
- ConvertEvent.cs
- _FtpDataStream.cs
- HtmlTableRowCollection.cs
- JoinGraph.cs
- __Filters.cs
- Win32Native.cs
- ItemCheckedEvent.cs
- MediaCommands.cs
- SrgsRuleRef.cs
- SafeReversePInvokeHandle.cs
- XPathNodePointer.cs
- ContainerParaClient.cs
- TraceUtility.cs
- IteratorFilter.cs
- CodeDomSerializationProvider.cs
- OutputCacheProfileCollection.cs
- DictionaryEntry.cs
- HashLookup.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- SelectionList.cs
- SchemaImporterExtension.cs
- DispatcherProcessingDisabled.cs
- ChtmlTextBoxAdapter.cs
- BitmapScalingModeValidation.cs
- PropertyInformationCollection.cs
- IERequestCache.cs
- Converter.cs
- MarkedHighlightComponent.cs
- DaylightTime.cs
- CheckBoxFlatAdapter.cs
- MeasureData.cs
- DeflateStream.cs
- CryptoHelper.cs
- COAUTHIDENTITY.cs
- cookiecollection.cs
- SchemaSetCompiler.cs
- EventlogProvider.cs
- UserValidatedEventArgs.cs
- Translator.cs