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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathNavigatorReader.cs
- ByteKeyFrameCollection.cs
- NavigationExpr.cs
- LocatorPartList.cs
- SelectorAutomationPeer.cs
- DiscoveryEndpointElement.cs
- VisualBrush.cs
- UTF8Encoding.cs
- Transform3D.cs
- RSAOAEPKeyExchangeDeformatter.cs
- StrongNamePublicKeyBlob.cs
- MimeMultiPart.cs
- XmlUtil.cs
- Accessors.cs
- XmlBinaryReader.cs
- ComponentChangingEvent.cs
- LayoutInformation.cs
- SqlDataSourceStatusEventArgs.cs
- WorkflowPersistenceService.cs
- SqlUserDefinedTypeAttribute.cs
- input.cs
- SoapReflectionImporter.cs
- WindowsRebar.cs
- OdbcHandle.cs
- DataGridViewTextBoxEditingControl.cs
- MemberPathMap.cs
- CommandManager.cs
- CalendarTable.cs
- GPPOINTF.cs
- DoubleLinkList.cs
- NameObjectCollectionBase.cs
- SQLSingle.cs
- DataTableNewRowEvent.cs
- selecteditemcollection.cs
- ModifiableIteratorCollection.cs
- GroupItem.cs
- xsdvalidator.cs
- DynamicAttribute.cs
- Transaction.cs
- KnownBoxes.cs
- COM2Properties.cs
- SymbolType.cs
- ErrorFormatterPage.cs
- PropertyPathWorker.cs
- Application.cs
- StreamBodyWriter.cs
- QilXmlWriter.cs
- CryptoStream.cs
- WindowsStartMenu.cs
- CryptoProvider.cs
- PathSegmentCollection.cs
- AsnEncodedData.cs
- HostedAspNetEnvironment.cs
- TreeViewHitTestInfo.cs
- EntityProviderServices.cs
- StartUpEventArgs.cs
- DataGridViewCellStateChangedEventArgs.cs
- XmlAttributeHolder.cs
- EFColumnProvider.cs
- TimeSpanOrInfiniteConverter.cs
- WindowsStartMenu.cs
- OpenTypeMethods.cs
- ZoneLinkButton.cs
- CodeRemoveEventStatement.cs
- SessionStateModule.cs
- SqlRecordBuffer.cs
- ValidatedControlConverter.cs
- SolidColorBrush.cs
- QilFunction.cs
- GridViewCommandEventArgs.cs
- DataRowComparer.cs
- _AutoWebProxyScriptEngine.cs
- DataGridTextBox.cs
- DataExpression.cs
- MobileUITypeEditor.cs
- Vector3DConverter.cs
- PersistenceIOParticipant.cs
- ApplicationSettingsBase.cs
- GridViewRowPresenter.cs
- ICspAsymmetricAlgorithm.cs
- TriggerBase.cs
- TreeView.cs
- translator.cs
- TextTreeTextNode.cs
- Camera.cs
- TreeViewCancelEvent.cs
- XPathQueryGenerator.cs
- MetadataItemEmitter.cs
- DataColumn.cs
- ExtensionDataReader.cs
- EtwProvider.cs
- TreeViewEvent.cs
- BinaryObjectWriter.cs
- GridViewRowEventArgs.cs
- GridViewAutoFormat.cs
- ISCIIEncoding.cs
- Header.cs
- ActionItem.cs
- TransactionContext.cs
- SimpleTableProvider.cs