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
- PageThemeParser.cs
- RegularExpressionValidator.cs
- UserControlBuildProvider.cs
- ExceptionUtil.cs
- RouteTable.cs
- CodeTypeOfExpression.cs
- MinMaxParagraphWidth.cs
- ErrorWebPart.cs
- wmiprovider.cs
- MiniConstructorInfo.cs
- Int32Storage.cs
- CmsUtils.cs
- NativeRightsManagementAPIsStructures.cs
- UnsafePeerToPeerMethods.cs
- LayoutTableCell.cs
- TextSchema.cs
- ForAllOperator.cs
- PagedDataSource.cs
- Compiler.cs
- Membership.cs
- DataServiceContext.cs
- ObjectStateManagerMetadata.cs
- Command.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- VectorValueSerializer.cs
- _DomainName.cs
- Unit.cs
- MimeMapping.cs
- ProviderMetadataCachedInformation.cs
- UpDownBase.cs
- SemaphoreSecurity.cs
- AuthorizationRule.cs
- RoleManagerSection.cs
- Accessible.cs
- Rotation3DAnimation.cs
- NetworkStream.cs
- MdiWindowListItemConverter.cs
- TextTreeFixupNode.cs
- Int32AnimationBase.cs
- Frame.cs
- NavigationWindowAutomationPeer.cs
- SettingsPropertyValueCollection.cs
- BinaryFormatter.cs
- ModelUtilities.cs
- StreamAsIStream.cs
- DocumentPageHost.cs
- oledbmetadatacolumnnames.cs
- EncodingInfo.cs
- XmlStrings.cs
- CookieProtection.cs
- TemplateKey.cs
- WebBrowsableAttribute.cs
- HostedImpersonationContext.cs
- DataListCommandEventArgs.cs
- ObsoleteAttribute.cs
- Int16AnimationUsingKeyFrames.cs
- CompositeDuplexBindingElement.cs
- PathFigure.cs
- SqlExpander.cs
- Drawing.cs
- xsdvalidator.cs
- TrustDriver.cs
- MemberAssignment.cs
- Container.cs
- RequestQueryParser.cs
- ElementProxy.cs
- SafeArrayRankMismatchException.cs
- SingleAnimationUsingKeyFrames.cs
- HttpListenerException.cs
- MetadataItem_Static.cs
- FactoryRecord.cs
- MappedMetaModel.cs
- QilXmlReader.cs
- RangeEnumerable.cs
- OLEDB_Enum.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- ImportedNamespaceContextItem.cs
- DSASignatureFormatter.cs
- RadioButtonPopupAdapter.cs
- ClockGroup.cs
- SafeFileMappingHandle.cs
- ActivityScheduledRecord.cs
- MessageQueuePermission.cs
- COM2ExtendedTypeConverter.cs
- PersonalizationStateInfo.cs
- XmlSchemaComplexContentExtension.cs
- ToolStripPanelRow.cs
- Parser.cs
- SemanticResultValue.cs
- TextHidden.cs
- Util.cs
- SHA1Managed.cs
- AliasedExpr.cs
- SerializationException.cs
- ItemList.cs
- PeerNameRecord.cs
- InternalPolicyElement.cs
- MediaPlayerState.cs
- SystemException.cs
- XmlNotation.cs