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
- FloaterBaseParagraph.cs
- uribuilder.cs
- DataServiceProcessingPipelineEventArgs.cs
- ToolboxItemCollection.cs
- KnownBoxes.cs
- TemplateField.cs
- PolyBezierSegment.cs
- Bidi.cs
- VirtualPath.cs
- XhtmlConformanceSection.cs
- ViewCellSlot.cs
- HierarchicalDataTemplate.cs
- ChildDocumentBlock.cs
- Vector3DCollection.cs
- Msec.cs
- WebPartDisplayModeEventArgs.cs
- EncodingDataItem.cs
- ListMarkerSourceInfo.cs
- DesignerAttribute.cs
- ColorInterpolationModeValidation.cs
- ValidatingPropertiesEventArgs.cs
- CheckBoxPopupAdapter.cs
- PrintDialog.cs
- JournalEntryStack.cs
- CheckBoxStandardAdapter.cs
- StylusDownEventArgs.cs
- CipherData.cs
- SwitchAttribute.cs
- XmlMtomWriter.cs
- ReverseInheritProperty.cs
- EventInfo.cs
- ConfigurationElementCollection.cs
- RayMeshGeometry3DHitTestResult.cs
- FixedPageAutomationPeer.cs
- ProfilePropertySettingsCollection.cs
- SynchronizationFilter.cs
- WpfPayload.cs
- ResponseStream.cs
- ProviderException.cs
- FontSizeConverter.cs
- BinaryMessageFormatter.cs
- ExternalDataExchangeClient.cs
- MsmqIntegrationChannelFactory.cs
- XmlAnyElementAttributes.cs
- EditorPartChrome.cs
- RTTrackingProfile.cs
- DeploymentExceptionMapper.cs
- EllipseGeometry.cs
- UnsafeNativeMethods.cs
- ContentTextAutomationPeer.cs
- RuntimeHandles.cs
- DurationConverter.cs
- UIElementIsland.cs
- MethodBuilderInstantiation.cs
- FixedSOMSemanticBox.cs
- Token.cs
- GrammarBuilderBase.cs
- DataGridViewColumnHeaderCell.cs
- StylusDownEventArgs.cs
- UserControlAutomationPeer.cs
- shaperfactory.cs
- DBConnection.cs
- IntranetCredentialPolicy.cs
- XmlName.cs
- BinaryFormatter.cs
- Native.cs
- AnalyzedTree.cs
- COM2ExtendedBrowsingHandler.cs
- XamlToRtfWriter.cs
- ObjectListItem.cs
- ClientData.cs
- PriorityQueue.cs
- xsdvalidator.cs
- CompensableActivity.cs
- SoapReflectionImporter.cs
- DiscoveryDocumentSerializer.cs
- RecommendedAsConfigurableAttribute.cs
- IsolatedStoragePermission.cs
- SelectorItemAutomationPeer.cs
- initElementDictionary.cs
- SR.cs
- ResolveNameEventArgs.cs
- SecurityState.cs
- WindowsFormsLinkLabel.cs
- ImageCollectionEditor.cs
- SplashScreenNativeMethods.cs
- ResolveDuplex11AsyncResult.cs
- XmlILConstructAnalyzer.cs
- IDReferencePropertyAttribute.cs
- XmlReturnReader.cs
- ProjectionCamera.cs
- VoiceObjectToken.cs
- UpdateException.cs
- Receive.cs
- SqlAggregateChecker.cs
- FreezableDefaultValueFactory.cs
- FSWPathEditor.cs
- State.cs
- SamlAssertion.cs
- Graphics.cs