Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / Hosting / WorkflowRuntimeService.cs / 1305376 / WorkflowRuntimeService.cs
//Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Globalization; using System.Workflow.Runtime; namespace System.Workflow.Runtime.Hosting { public enum WorkflowRuntimeServiceState { Stopped, Starting, Started, Stopping } abstract public class WorkflowRuntimeService { private WorkflowRuntime _runtime; private WorkflowRuntimeServiceState state = WorkflowRuntimeServiceState.Stopped; protected WorkflowRuntime Runtime { get { return _runtime; } } internal void SetRuntime(WorkflowRuntime runtime) { if (runtime == null && _runtime != null) { _runtime.Started -= this.HandleStarted; _runtime.Stopped -= this.HandleStopped; } _runtime = runtime; if (runtime != null) { _runtime.Started += this.HandleStarted; _runtime.Stopped += this.HandleStopped; } } protected void RaiseServicesExceptionNotHandledEvent(Exception exception, Guid instanceId) { Runtime.RaiseServicesExceptionNotHandledEvent(exception, instanceId); } internal void RaiseExceptionNotHandledEvent(Exception exception, Guid instanceId) { Runtime.RaiseServicesExceptionNotHandledEvent(exception, instanceId); } protected WorkflowRuntimeServiceState State { get { return state; } } virtual internal protected void Start() { if (_runtime == null) throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ExecutionStringManager.ServiceNotAddedToRuntime, this.GetType().Name)); if (state.Equals(WorkflowRuntimeServiceState.Started)) throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ExecutionStringManager.ServiceAlreadyStarted, this.GetType().Name)); state = WorkflowRuntimeServiceState.Starting; } virtual internal protected void Stop() { if (_runtime == null) throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ExecutionStringManager.ServiceNotAddedToRuntime, this.GetType().Name)); if (state.Equals(WorkflowRuntimeServiceState.Stopped)) throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ExecutionStringManager.ServiceNotStarted, this.GetType().Name)); state = WorkflowRuntimeServiceState.Stopping; } virtual protected void OnStarted() {} virtual protected void OnStopped() {} private void HandleStarted(object source, WorkflowRuntimeEventArgs e) { state = WorkflowRuntimeServiceState.Started; this.OnStarted(); } private void HandleStopped(object source, WorkflowRuntimeEventArgs e) { state = WorkflowRuntimeServiceState.Stopped; this.OnStopped(); } } } // 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
- counter.cs
- InstanceLockException.cs
- ActionFrame.cs
- LoadedOrUnloadedOperation.cs
- ExecutionPropertyManager.cs
- PageCatalogPart.cs
- AssemblyName.cs
- bidPrivateBase.cs
- OdbcConnectionStringbuilder.cs
- GlyphRun.cs
- NavigationProgressEventArgs.cs
- Attributes.cs
- XmlSchema.cs
- WebPartZoneBase.cs
- ServiceOperationParameter.cs
- SystemWebCachingSectionGroup.cs
- BaseValidator.cs
- CmsUtils.cs
- Win32.cs
- Pkcs7Recipient.cs
- SoapObjectInfo.cs
- UxThemeWrapper.cs
- SchemaElementLookUpTable.cs
- IisTraceListener.cs
- SiteMembershipCondition.cs
- SoapTransportImporter.cs
- Stack.cs
- SeverityFilter.cs
- DataGridViewColumnHeaderCell.cs
- _SingleItemRequestCache.cs
- AppDomainFactory.cs
- DataServiceContext.cs
- ToolStripTemplateNode.cs
- SmtpFailedRecipientException.cs
- SiteMapNodeItem.cs
- x509store.cs
- ReadOnlyDictionary.cs
- MissingManifestResourceException.cs
- CommonRemoteMemoryBlock.cs
- Hashtable.cs
- MemberDescriptor.cs
- DtrList.cs
- RuntimeCompatibilityAttribute.cs
- ListBoxItemWrapperAutomationPeer.cs
- Margins.cs
- followingquery.cs
- GrammarBuilderWildcard.cs
- StatusBar.cs
- DrawingVisual.cs
- ResourceBinder.cs
- ListBoxItemAutomationPeer.cs
- TextChangedEventArgs.cs
- NeedSkipTokenVisitor.cs
- DoubleUtil.cs
- PackagePartCollection.cs
- BitmapEffectGroup.cs
- SystemIcmpV4Statistics.cs
- ExtensibleClassFactory.cs
- ConfigurationErrorsException.cs
- QuadraticBezierSegment.cs
- DetailsView.cs
- SmtpCommands.cs
- ActiveXSite.cs
- _NtlmClient.cs
- StateMachineDesignerPaint.cs
- WindowsSlider.cs
- URL.cs
- ReplyChannel.cs
- OutputCacheSettingsSection.cs
- DiscoveryClientDuplexChannel.cs
- SignatureToken.cs
- Header.cs
- WebPartTransformerAttribute.cs
- RtfFormatStack.cs
- CreateUserErrorEventArgs.cs
- SqlCachedBuffer.cs
- SpellerHighlightLayer.cs
- TableLayoutPanelDesigner.cs
- ThicknessAnimation.cs
- ToolStripDesigner.cs
- DataTemplateSelector.cs
- DefaultCompensation.cs
- Util.cs
- PageClientProxyGenerator.cs
- SchemaAttDef.cs
- HtmlElementEventArgs.cs
- Knowncolors.cs
- ProtocolsConfiguration.cs
- RoutedEventConverter.cs
- XDeferredAxisSource.cs
- XmlSchemaObjectCollection.cs
- JsonQueryStringConverter.cs
- XmlSchemaSimpleContent.cs
- UniqueCodeIdentifierScope.cs
- SerTrace.cs
- TrustSection.cs
- TypeInitializationException.cs
- ApplicationSecurityInfo.cs
- WebPartDeleteVerb.cs
- DeleteBookmarkScope.cs