Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / SMSvcHost / System / ServiceModel / Activation / SMSvcHost.cs / 1 / SMSvcHost.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.IO; using System.ServiceProcess; using System.Security.Principal; using Microsoft.Win32; using System.Threading; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.ServiceModel.Activation.Diagnostics; using System.ServiceModel; using System.ComponentModel; static class SMSvcHost { static TcpPortSharing netTcpPortSharing; static TcpActivation netTcpActivator; static NamedPipeActivation netPipeActivator; static MsmqActivation netMsmqActivator; static string listenerAdapterNativeLibrary; internal static bool IsTcpPortSharingPaused { get { return netTcpPortSharing.IsPaused; } } internal static bool IsTcpActivationPaused { get { return netTcpActivator.IsPaused; } } internal static bool IsNamedPipeActivationPaused { get { return netPipeActivator.IsPaused; } } internal static bool IsWebhostSupported { get { bool isWebhostSupported = false; using (RegistryKey localMachine = Registry.LocalMachine) { using (RegistryKey versionKey = localMachine.OpenSubKey(@"Software\Microsoft\InetSTP")) { if (versionKey != null) { object majorVersion = versionKey.GetValue("MajorVersion"); if (majorVersion != null && majorVersion.GetType().Equals(typeof(int))) { if ((int)majorVersion >= 7) { isWebhostSupported = File.Exists(ListenerAdapterNativeLibrary); } } } } } return isWebhostSupported; } } internal static string ListenerAdapterNativeLibrary { get { if (listenerAdapterNativeLibrary == null) { listenerAdapterNativeLibrary = Environment.SystemDirectory + "\\inetsrv\\wbhstipm.dll"; } return listenerAdapterNativeLibrary; } } static void Main(string[] args) { const string SeCreateGlobalPrivilege = "SeCreateGlobalPrivilege"; if (!OSEnvironmentHelper.IsVistaOrGreater) { try { Utility.KeepOnlyPrivilegeInProcess(SeCreateGlobalPrivilege); } catch (Win32Exception exception) { ListenerTraceUtility.EventLog.LogEvent(TraceEventType.Error, System.ServiceModel.Diagnostics.EventLogCategory.SharingService, System.ServiceModel.Diagnostics.EventLogEventId.ServiceStartFailed, false, exception.ToString()); throw; } } // Hook up with unhandled exceptions. AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; Listservices = new List (); netTcpPortSharing = new TcpPortSharing(); services.Add(netTcpPortSharing); // We always add the services that share the same process to the service table so // that we don't have to stop the existing services when installing new services. // NOTE: Do not add code that really depends on WAS and MSMQ to the constructors // of these services. if (OSEnvironmentHelper.IsVistaOrGreater) { MainIis7(services); } ServiceBase.Run(services.ToArray()); } static void MainIis7(List services) { netTcpActivator = new TcpActivation(); services.Add(netTcpActivator); netPipeActivator = new NamedPipeActivation(); services.Add(netPipeActivator); netMsmqActivator = new MsmqActivation(); services.Add(netMsmqActivator); } static void OnUnhandledException(object sender, UnhandledExceptionEventArgs e) { Exception exception = e.ExceptionObject as Exception; ListenerTraceUtility.EventLog.LogEvent(TraceEventType.Error, System.ServiceModel.Diagnostics.EventLogCategory.SharingService, System.ServiceModel.Diagnostics.EventLogEventId.SharingUnhandledException, false, exception == null ? string.Empty : exception.ToString()); } } } // 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
- SharedDp.cs
- _DisconnectOverlappedAsyncResult.cs
- ConfigurationLocationCollection.cs
- ReadOnlyKeyedCollection.cs
- XmlSchemaChoice.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- CapabilitiesState.cs
- DataGridRowsPresenter.cs
- PolyQuadraticBezierSegment.cs
- CodeGotoStatement.cs
- MemberHolder.cs
- SoapWriter.cs
- InheritanceContextChangedEventManager.cs
- FileRegion.cs
- RelationshipType.cs
- ObjectSecurity.cs
- SqlException.cs
- BamlMapTable.cs
- MetadataPropertyAttribute.cs
- CustomBinding.cs
- SelectorAutomationPeer.cs
- ToolboxSnapDragDropEventArgs.cs
- AttributeData.cs
- ApplicationServiceManager.cs
- ByteAnimation.cs
- ParameterModifier.cs
- DBSchemaTable.cs
- SelectionProcessor.cs
- CorePropertiesFilter.cs
- SymbolDocumentGenerator.cs
- ResXBuildProvider.cs
- WebBrowserDesigner.cs
- WebConfigurationFileMap.cs
- GrabHandleGlyph.cs
- SessionPageStateSection.cs
- PeerNodeAddress.cs
- CodeDomLocalizationProvider.cs
- ConstrainedGroup.cs
- QilList.cs
- XamlPathDataSerializer.cs
- AxisAngleRotation3D.cs
- RegexWriter.cs
- HttpException.cs
- BufferModesCollection.cs
- SchemaElementDecl.cs
- UnsafeNativeMethods.cs
- StylusEventArgs.cs
- input.cs
- ThousandthOfEmRealPoints.cs
- FunctionNode.cs
- PropertyConverter.cs
- ByteStack.cs
- fixedPageContentExtractor.cs
- DynamicValidatorEventArgs.cs
- MobileListItem.cs
- HttpBindingExtension.cs
- XamlStream.cs
- AssemblyResourceLoader.cs
- XmlILOptimizerVisitor.cs
- TextBoxAutomationPeer.cs
- SamlAuthorizationDecisionClaimResource.cs
- TrustLevelCollection.cs
- InheritanceAttribute.cs
- LazyLoadBehavior.cs
- SpeechRecognizer.cs
- DummyDataSource.cs
- OdbcFactory.cs
- EpmHelper.cs
- AmbientLight.cs
- Margins.cs
- PointF.cs
- UIInitializationException.cs
- SRDisplayNameAttribute.cs
- DataGridViewTextBoxCell.cs
- HtmlInputReset.cs
- TextServicesDisplayAttribute.cs
- WebPartEditorCancelVerb.cs
- OutputWindow.cs
- WorkItem.cs
- Soap.cs
- DesignTimeValidationFeature.cs
- DataControlLinkButton.cs
- CompositionAdorner.cs
- MemoryMappedViewStream.cs
- CompiledRegexRunnerFactory.cs
- PlacementWorkspace.cs
- TypeDependencyAttribute.cs
- OpenFileDialog.cs
- TableLayoutPanel.cs
- ObsoleteAttribute.cs
- Classification.cs
- PerformanceCounter.cs
- XmlTextReader.cs
- DesignerWithHeader.cs
- UniqueIdentifierService.cs
- ValueQuery.cs
- SingleTagSectionHandler.cs
- MouseGestureConverter.cs
- FileAuthorizationModule.cs
- SafeReversePInvokeHandle.cs