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
- PointHitTestResult.cs
- MaskedTextProvider.cs
- ArgumentException.cs
- HttpListenerException.cs
- RuntimeConfigLKG.cs
- SqlDependencyUtils.cs
- MenuItemCollection.cs
- TextTreeTextNode.cs
- XXXInfos.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- EntityDataSourceDesignerHelper.cs
- StringPropertyBuilder.cs
- CachedRequestParams.cs
- RangeBaseAutomationPeer.cs
- CharConverter.cs
- ExpressionBuilder.cs
- CommonDialog.cs
- Line.cs
- WebPartConnection.cs
- GridEntryCollection.cs
- WsdlInspector.cs
- BrowserCapabilitiesCodeGenerator.cs
- UInt16Storage.cs
- XmlTextReader.cs
- BookmarkScopeManager.cs
- QilInvokeEarlyBound.cs
- StateDesigner.Helpers.cs
- ImmutableClientRuntime.cs
- WeakReferenceList.cs
- ApplicationGesture.cs
- ListBoxItemWrapperAutomationPeer.cs
- SamlNameIdentifierClaimResource.cs
- _SslState.cs
- XmlTextWriter.cs
- FormsAuthenticationEventArgs.cs
- SerializableAttribute.cs
- DeobfuscatingStream.cs
- BooleanExpr.cs
- RegexFCD.cs
- XmlElementAttributes.cs
- WebPartChrome.cs
- SqlCacheDependencyDatabase.cs
- XmlEntityReference.cs
- SortedList.cs
- ProtocolsConfiguration.cs
- Visual3D.cs
- StylusPointProperties.cs
- MultiViewDesigner.cs
- Baml6Assembly.cs
- ComplexBindingPropertiesAttribute.cs
- regiisutil.cs
- RegisteredDisposeScript.cs
- DataTableCollection.cs
- ZipIOExtraFieldElement.cs
- DataGridViewCellStyleConverter.cs
- ConstructorNeedsTagAttribute.cs
- Wizard.cs
- IntSecurity.cs
- ColorIndependentAnimationStorage.cs
- TextTreeTextBlock.cs
- ModelUIElement3D.cs
- NativeCppClassAttribute.cs
- MethodBuilderInstantiation.cs
- HandlerElementCollection.cs
- PriorityItem.cs
- TakeQueryOptionExpression.cs
- MethodMessage.cs
- TcpWorkerProcess.cs
- NamespaceCollection.cs
- LedgerEntryCollection.cs
- PkcsUtils.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- ActivityInfo.cs
- StylusEditingBehavior.cs
- UserValidatedEventArgs.cs
- GlobalItem.cs
- MsmqOutputMessage.cs
- ModuleBuilder.cs
- EventPrivateKey.cs
- BaseParagraph.cs
- WorkflowQueuingService.cs
- PartitionedStream.cs
- ZipIOExtraFieldPaddingElement.cs
- MsmqIntegrationProcessProtocolHandler.cs
- FrameworkElementAutomationPeer.cs
- BindingMAnagerBase.cs
- Scanner.cs
- BaseCollection.cs
- SkipQueryOptionExpression.cs
- SqlUtil.cs
- TextureBrush.cs
- DataBoundControlHelper.cs
- GeneralTransform.cs
- X509AsymmetricSecurityKey.cs
- AggregateNode.cs
- ActionFrame.cs
- SystemColorTracker.cs
- CalculatedColumn.cs
- ImmutableCollection.cs
- TextBox.cs