Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / SMSvcHost / System / ServiceModel / Activation / ActivationService.cs / 1 / ActivationService.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.Diagnostics; using System.ServiceProcess; using System.ServiceModel; using System.ServiceModel.Diagnostics; using System.ServiceModel.Activation.Diagnostics; using System.ServiceModel.Channels; using System.Threading; abstract class ActivationService : ServiceBase, IActivationService { ListenerAdapter listenerAdapter; string protocolName; bool isPaused; protected ActivationService(string serviceName, string protocolName) { this.protocolName = protocolName; ServiceName = serviceName; CanHandlePowerEvent = false; AutoLog = false; CanStop = true; CanPauseAndContinue = true; CanShutdown = true; } public bool IsPaused { get { return isPaused; } } public string ActivationServiceName { get { return this.ServiceName; } } public string ProtocolName { get { return protocolName; } } public IActivatedMessageQueue CreateQueue(ListenerAdapter la, App app) { return new ActivatedMessageQueue(la, app); } public IActivatedMessageQueue FindQueue(int queueId) { return ActivatedMessageQueue.Find(queueId); } protected override void OnContinue() { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.ServiceContinue, this); } isPaused = false; } protected override void OnPause() { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.ServicePause, this); } isPaused = true; } protected override void OnShutdown() { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.ServiceShutdown, this); } Shutdown(); Stop(); } protected override void OnStop() { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.ServiceStop, this); } Shutdown(); } protected override void OnStart(string[] args) { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.ServiceStart, this); } #if DEBUG if (DebuggableService.DelayStart(ServiceName)) { (new Thread(new ThreadStart(Start))).Start(); return; } #endif Start(); } void Start() { #if DEBUG DebuggableService.WaitForDebugger(ServiceName); #endif if (!SMSvcHost.IsWebhostSupported) { const int ERROR_NOT_SUPPORTED = 50; this.ExitCode = ERROR_NOT_SUPPORTED; throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR.GetString(SR.ServiceRequiresWas))); } isPaused = false; listenerAdapter = new ListenerAdapter(this); listenerAdapter.Open(); } void Shutdown() { listenerAdapter.Close(); } public void StopService() { Stop(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MethodBuilderInstantiation.cs
- ParallelRangeManager.cs
- InOutArgumentConverter.cs
- UseManagedPresentationElement.cs
- ArgIterator.cs
- StyleTypedPropertyAttribute.cs
- ConnectionPoolManager.cs
- Crc32.cs
- HttpProfileBase.cs
- QueryGenerator.cs
- SectionRecord.cs
- Transform3D.cs
- XmlDictionary.cs
- Collection.cs
- X509PeerCertificateAuthenticationElement.cs
- EntityContainerRelationshipSetEnd.cs
- AsyncOperation.cs
- StickyNoteHelper.cs
- GatewayDefinition.cs
- DataGridViewTextBoxCell.cs
- UnmanagedMemoryStream.cs
- UpdatePanel.cs
- CorrelationActionMessageFilter.cs
- StorageEndPropertyMapping.cs
- AvTraceFormat.cs
- Sequence.cs
- Buffer.cs
- ListBindingConverter.cs
- ACE.cs
- ListViewItem.cs
- HealthMonitoringSection.cs
- DbConnectionStringCommon.cs
- UnknownBitmapDecoder.cs
- WebPartDesigner.cs
- ViewSimplifier.cs
- PrincipalPermission.cs
- SchemaElementLookUpTableEnumerator.cs
- ProtocolsConfigurationEntry.cs
- NullableIntSumAggregationOperator.cs
- DataTableNameHandler.cs
- SignatureToken.cs
- GroupQuery.cs
- ConfigurationLockCollection.cs
- HttpModule.cs
- TreeNodeStyleCollectionEditor.cs
- ClientCultureInfo.cs
- Wizard.cs
- HttpPostedFile.cs
- SelectedDatesCollection.cs
- remotingproxy.cs
- FixedSOMLineCollection.cs
- CodeSnippetStatement.cs
- FormParameter.cs
- EntityWithKeyStrategy.cs
- WebWorkflowRole.cs
- DataGridTable.cs
- Variant.cs
- LicenseContext.cs
- TabControlCancelEvent.cs
- BooleanStorage.cs
- TagPrefixInfo.cs
- Italic.cs
- DataServiceStreamResponse.cs
- SQLConvert.cs
- FieldDescriptor.cs
- FamilyMapCollection.cs
- CodeFieldReferenceExpression.cs
- EventNotify.cs
- AdapterDictionary.cs
- EventProviderTraceListener.cs
- BaseUriHelper.cs
- BamlCollectionHolder.cs
- DragStartedEventArgs.cs
- CheckBoxDesigner.cs
- WriteFileContext.cs
- DefaultParameterValueAttribute.cs
- FrameworkContentElementAutomationPeer.cs
- COAUTHIDENTITY.cs
- AssemblyInfo.cs
- SplayTreeNode.cs
- OdbcConnectionPoolProviderInfo.cs
- ImageListDesigner.cs
- XPathDocumentIterator.cs
- WebScriptEnablingElement.cs
- EventInfo.cs
- AspNetHostingPermission.cs
- PointHitTestResult.cs
- SafePointer.cs
- MediaElement.cs
- KeyValueConfigurationElement.cs
- TdsParserStateObject.cs
- WizardForm.cs
- QueueProcessor.cs
- EdgeProfileValidation.cs
- InternalResources.cs
- TriggerAction.cs
- GestureRecognitionResult.cs
- XmlSchemaSequence.cs
- _AutoWebProxyScriptHelper.cs
- CodeAccessPermission.cs