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
- RequestCacheManager.cs
- TextReader.cs
- FormatterConverter.cs
- VirtualizedItemPattern.cs
- BaseInfoTable.cs
- CollectionBuilder.cs
- RuntimeHelpers.cs
- XamlPathDataSerializer.cs
- CancelAsyncOperationRequest.cs
- TextFormattingConverter.cs
- SystemEvents.cs
- WebPermission.cs
- VectorAnimationUsingKeyFrames.cs
- TextLine.cs
- IndexingContentUnit.cs
- CallInfo.cs
- Utility.cs
- QilInvokeEarlyBound.cs
- MergablePropertyAttribute.cs
- CompilerErrorCollection.cs
- DateTimeValueSerializer.cs
- XsdDateTime.cs
- PathHelper.cs
- PersistenceProvider.cs
- SerializationInfo.cs
- WSIdentityFaultException.cs
- iisPickupDirectory.cs
- SubpageParagraph.cs
- FileCodeGroup.cs
- ButtonFlatAdapter.cs
- RadioButton.cs
- RsaSecurityToken.cs
- DataBindingHandlerAttribute.cs
- MessageQueueException.cs
- ParserOptions.cs
- SqlUDTStorage.cs
- BitStack.cs
- ExpressionVisitorHelpers.cs
- RelationshipConverter.cs
- XmlSchemaSubstitutionGroup.cs
- ConfigXmlCDataSection.cs
- OletxTransactionManager.cs
- Label.cs
- GridEntry.cs
- OleDbConnectionInternal.cs
- View.cs
- RsaSecurityToken.cs
- SqlWebEventProvider.cs
- Vertex.cs
- ColorKeyFrameCollection.cs
- MediaSystem.cs
- SqlClientMetaDataCollectionNames.cs
- MessageQueueKey.cs
- DbConnectionStringCommon.cs
- UnsafeNativeMethods.cs
- ProcessHostFactoryHelper.cs
- HttpCachePolicyBase.cs
- Automation.cs
- AbstractSvcMapFileLoader.cs
- SplineKeyFrames.cs
- SecureConversationServiceCredential.cs
- DataServices.cs
- TrackBarRenderer.cs
- ViewStateAttachedPropertyFeature.cs
- WebBrowserContainer.cs
- DecoderFallback.cs
- DbConnectionPoolIdentity.cs
- OperationCanceledException.cs
- DataRowCollection.cs
- SqlStatistics.cs
- CodeCatchClauseCollection.cs
- IdleTimeoutMonitor.cs
- ToolStripManager.cs
- SortQueryOperator.cs
- NavigateUrlConverter.cs
- TextDecorationCollection.cs
- PersonalizationEntry.cs
- ClientEventManager.cs
- ManifestResourceInfo.cs
- SecurityState.cs
- BindingContext.cs
- DBConnectionString.cs
- Psha1DerivedKeyGenerator.cs
- RawStylusSystemGestureInputReport.cs
- EventsTab.cs
- CuspData.cs
- DataColumnPropertyDescriptor.cs
- XamlStream.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- DataGridCaption.cs
- QueryTaskGroupState.cs
- ToolboxBitmapAttribute.cs
- ArgumentNullException.cs
- XDeferredAxisSource.cs
- MobileRedirect.cs
- RuntimeVariablesExpression.cs
- WindowsStatusBar.cs
- LineServicesCallbacks.cs
- WhiteSpaceTrimStringConverter.cs
- RoleGroup.cs