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
- ProfileInfo.cs
- DeploymentSectionCache.cs
- StoryFragments.cs
- BufferedWebEventProvider.cs
- MultipleViewPattern.cs
- TypeSystem.cs
- __FastResourceComparer.cs
- ClientApiGenerator.cs
- ProvidersHelper.cs
- FormatConvertedBitmap.cs
- RadioButtonPopupAdapter.cs
- WindowsContainer.cs
- MasterPageCodeDomTreeGenerator.cs
- System.Data_BID.cs
- TreeViewItem.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- Point3DAnimationUsingKeyFrames.cs
- ExpandableObjectConverter.cs
- MatrixKeyFrameCollection.cs
- ContentIterators.cs
- Cursor.cs
- EventWaitHandle.cs
- CodeSnippetTypeMember.cs
- CardSpaceShim.cs
- QilCloneVisitor.cs
- CultureInfoConverter.cs
- XmlReflectionImporter.cs
- EntityCommandExecutionException.cs
- WebPartVerbCollection.cs
- XmlNamespaceMappingCollection.cs
- TemporaryBitmapFile.cs
- MemberPath.cs
- XmlAttributeCollection.cs
- DynamicPropertyReader.cs
- ContentAlignmentEditor.cs
- CodeRemoveEventStatement.cs
- sqlinternaltransaction.cs
- DiscoveryClient.cs
- SoapAttributes.cs
- XLinq.cs
- XmlSchemaSequence.cs
- Interlocked.cs
- SolidColorBrush.cs
- URIFormatException.cs
- TextDecorationCollection.cs
- TreeViewDesigner.cs
- PersonalizationStateInfoCollection.cs
- XmlSchemaCompilationSettings.cs
- EventLogPermission.cs
- ResourceContainer.cs
- BooleanExpr.cs
- ContainerAction.cs
- SoapMessage.cs
- PersonalizationProviderHelper.cs
- WebConfigurationHost.cs
- FastEncoderWindow.cs
- DescendentsWalkerBase.cs
- CodeArrayIndexerExpression.cs
- VScrollBar.cs
- SqlGatherProducedAliases.cs
- ApplicationContext.cs
- Dictionary.cs
- BindingObserver.cs
- ParameterDataSourceExpression.cs
- SpellCheck.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- GACMembershipCondition.cs
- SQLGuid.cs
- PathFigure.cs
- MaskedTextBoxTextEditor.cs
- DataMemberConverter.cs
- SQLBoolean.cs
- XmlCompatibilityReader.cs
- InstanceCompleteException.cs
- PersonalizationProvider.cs
- StateInitializationDesigner.cs
- RichTextBoxContextMenu.cs
- WindowsGraphics.cs
- WebPartDisplayModeEventArgs.cs
- VariableQuery.cs
- ProcessInputEventArgs.cs
- GeneratedCodeAttribute.cs
- GroupBoxRenderer.cs
- LinkedResourceCollection.cs
- Polygon.cs
- HandledMouseEvent.cs
- CustomValidator.cs
- PerformanceCounterPermissionEntry.cs
- PartialClassGenerationTask.cs
- QuadraticBezierSegment.cs
- EtwTrackingBehaviorElement.cs
- RequestUriProcessor.cs
- DBCommandBuilder.cs
- TypeCollectionPropertyEditor.cs
- SymbolPair.cs
- UserCancellationException.cs
- CalendarDesigner.cs
- OdbcInfoMessageEvent.cs
- TextPointerBase.cs
- XmlLanguageConverter.cs