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
- DataGridViewCellCollection.cs
- DirtyTextRange.cs
- SafeRightsManagementEnvironmentHandle.cs
- ResXResourceWriter.cs
- UIElement.cs
- DnsPermission.cs
- StringCollection.cs
- NativeCppClassAttribute.cs
- SqlCachedBuffer.cs
- ConnectionManagementElement.cs
- SecurityPermission.cs
- SparseMemoryStream.cs
- Vector3DKeyFrameCollection.cs
- RoleManagerModule.cs
- Object.cs
- SystemNetHelpers.cs
- ExternalFile.cs
- SubqueryTrackingVisitor.cs
- AnnouncementInnerClientCD1.cs
- CalloutQueueItem.cs
- GlobalizationAssembly.cs
- iisPickupDirectory.cs
- BufferedReadStream.cs
- XmlArrayItemAttribute.cs
- XamlHostingSection.cs
- ObjectDisposedException.cs
- TypeViewSchema.cs
- RequestDescription.cs
- UITypeEditors.cs
- RegistrationServices.cs
- InfoCardServiceInstallComponent.cs
- xdrvalidator.cs
- ThicknessKeyFrameCollection.cs
- DocumentApplicationJournalEntry.cs
- MergeLocalizationDirectives.cs
- ToolStripDropDown.cs
- SmiXetterAccessMap.cs
- WorkflowInstance.cs
- CodeDirectoryCompiler.cs
- WebPartVerbsEventArgs.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- SchemaMerger.cs
- ProfileSettings.cs
- DateTimeOffset.cs
- SecurityUtils.cs
- ListViewGroupCollectionEditor.cs
- TableCellCollection.cs
- DomNameTable.cs
- DbProviderFactory.cs
- Border.cs
- DataSourceUtil.cs
- InertiaRotationBehavior.cs
- Triangle.cs
- ExpressionLexer.cs
- XsltInput.cs
- CellPartitioner.cs
- Cursor.cs
- EventListenerClientSide.cs
- SqlParameterCollection.cs
- SQLString.cs
- TypeElement.cs
- DataGridCellItemAutomationPeer.cs
- ReservationCollection.cs
- LightweightCodeGenerator.cs
- FrugalList.cs
- JulianCalendar.cs
- QilFunction.cs
- ClockController.cs
- ArgumentException.cs
- SqlUtil.cs
- CodeObject.cs
- FamilyTypefaceCollection.cs
- GridSplitter.cs
- Debugger.cs
- SqlAliasesReferenced.cs
- AssertUtility.cs
- DataGridViewRowPostPaintEventArgs.cs
- StylusSystemGestureEventArgs.cs
- RegistryDataKey.cs
- X509Certificate2Collection.cs
- ObjectCloneHelper.cs
- AppDomainAttributes.cs
- TextBreakpoint.cs
- SynchronizingStream.cs
- MenuItemBinding.cs
- TypeConverterHelper.cs
- ButtonBaseAutomationPeer.cs
- SspiWrapper.cs
- ProfileModule.cs
- SqlEnums.cs
- WebBrowsableAttribute.cs
- DbProviderConfigurationHandler.cs
- HttpModuleAction.cs
- DeobfuscatingStream.cs
- WebUtil.cs
- SchemaInfo.cs
- MetadataArtifactLoaderCompositeResource.cs
- ObjectKeyFrameCollection.cs
- BeginGetFileNameFromUserRequest.cs
- WebPermission.cs