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
- _NTAuthentication.cs
- UIElement3DAutomationPeer.cs
- MediaElement.cs
- AnnotationAuthorChangedEventArgs.cs
- BackgroundWorker.cs
- FactoryGenerator.cs
- StyleCollection.cs
- TrustLevelCollection.cs
- MouseEvent.cs
- NetworkStream.cs
- FtpWebRequest.cs
- AbstractDataSvcMapFileLoader.cs
- ItemCollection.cs
- TreeViewHitTestInfo.cs
- MatcherBuilder.cs
- ImageAutomationPeer.cs
- GridPatternIdentifiers.cs
- SectionVisual.cs
- SerialPort.cs
- DebugTraceHelper.cs
- ManagedWndProcTracker.cs
- OutputScopeManager.cs
- RootProfilePropertySettingsCollection.cs
- StatusStrip.cs
- HtmlInputPassword.cs
- PropertyMapper.cs
- RenderOptions.cs
- BitmapCache.cs
- EntryWrittenEventArgs.cs
- CodeExporter.cs
- SamlSecurityToken.cs
- BitmapSizeOptions.cs
- ShapingEngine.cs
- DataObject.cs
- QueueProcessor.cs
- DetailsViewUpdatedEventArgs.cs
- FlowDocumentScrollViewer.cs
- ObjectSet.cs
- WindowsRebar.cs
- UrlAuthorizationModule.cs
- DrawingAttributesDefaultValueFactory.cs
- BinHexDecoder.cs
- FrugalMap.cs
- DataViewListener.cs
- TemplateColumn.cs
- Journaling.cs
- ADMembershipUser.cs
- Ray3DHitTestResult.cs
- UIPropertyMetadata.cs
- KeyPullup.cs
- EdmItemError.cs
- CodeTypeOfExpression.cs
- DecoderBestFitFallback.cs
- CustomLineCap.cs
- Control.cs
- CounterSampleCalculator.cs
- ConfigXmlWhitespace.cs
- PointConverter.cs
- SqlBulkCopyColumnMappingCollection.cs
- ActivationArguments.cs
- NetworkInformationException.cs
- CompiledQuery.cs
- ImageCodecInfoPrivate.cs
- WebPartMinimizeVerb.cs
- SerializerProvider.cs
- ExecutionEngineException.cs
- ShadowGlyph.cs
- XmlMembersMapping.cs
- AttributeParameterInfo.cs
- HttpContext.cs
- Listbox.cs
- Matrix3DValueSerializer.cs
- FreezableDefaultValueFactory.cs
- ListView.cs
- HighContrastHelper.cs
- HostProtectionException.cs
- RijndaelManaged.cs
- MouseEventArgs.cs
- ListViewDeletedEventArgs.cs
- ScrollBar.cs
- DataMemberFieldConverter.cs
- ConsumerConnectionPointCollection.cs
- Membership.cs
- GridViewUpdatedEventArgs.cs
- HtmlUtf8RawTextWriter.cs
- BaseServiceProvider.cs
- PerformanceCounterManager.cs
- CompilerInfo.cs
- Int64AnimationBase.cs
- WindowsFont.cs
- glyphs.cs
- RequestResizeEvent.cs
- X509RawDataKeyIdentifierClause.cs
- SiteMapPath.cs
- DetailsViewPagerRow.cs
- MenuAdapter.cs
- HttpConfigurationSystem.cs
- SBCSCodePageEncoding.cs
- ZipIOLocalFileBlock.cs
- SizeF.cs