Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Activation / Iis7Helper.cs / 1 / Iis7Helper.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using Microsoft.Win32; using System.Configuration; using System.Collections; using System.Security.Permissions; using System.Security; static class Iis7Helper { static int iisVersion; static bool isIis7; static Iis7Helper() { isIis7 = GetIsIis7(); } ////// Critical - uses SecurityCritical method to get version info from registry /// Safe - processes registry info into a safe bool for return /// [SecurityCritical, SecurityTreatAsSafe] static bool GetIsIis7() { iisVersion = -1; object majorVersion = UnsafeGetMajorVersionFromRegistry(); if (majorVersion != null && majorVersion.GetType().Equals(typeof(int))) { iisVersion = (int)majorVersion; } return iisVersion >= 7; } const string subKey = @"Software\Microsoft\InetSTP"; ////// Critical - asserts registry access to get a single value from the registry /// caller should not leak value /// [SecurityCritical] [RegistryPermission(SecurityAction.Assert, Read = @"HKEY_LOCAL_MACHINE\" + subKey)] static object UnsafeGetMajorVersionFromRegistry() { using (RegistryKey localMachine = Registry.LocalMachine) { using (RegistryKey versionKey = localMachine.OpenSubKey(subKey)) { return versionKey != null ? versionKey.GetValue("MajorVersion") : null; } } } internal static int IisVersion { get { return iisVersion; } } internal static bool IsIis7 { get { return isIis7; } } } } // 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
- FontStyleConverter.cs
- EmptyControlCollection.cs
- ObjectViewQueryResultData.cs
- PackageRelationshipCollection.cs
- _CacheStreams.cs
- HostedBindingBehavior.cs
- sqlnorm.cs
- StickyNoteHelper.cs
- QueueSurrogate.cs
- EventLogEntry.cs
- Style.cs
- CollectionContainer.cs
- DrawListViewColumnHeaderEventArgs.cs
- ThreadExceptionEvent.cs
- CollectionExtensions.cs
- validation.cs
- M3DUtil.cs
- DependencyObjectPropertyDescriptor.cs
- TemplateInstanceAttribute.cs
- ProviderException.cs
- PrintDialog.cs
- TCEAdapterGenerator.cs
- shaperfactoryquerycacheentry.cs
- UpdateCompiler.cs
- UserPreference.cs
- VectorCollectionValueSerializer.cs
- TreeIterator.cs
- ProxyWebPartManager.cs
- AssemblyHash.cs
- TypeUsage.cs
- SqlNamer.cs
- DataGridClipboardCellContent.cs
- ShapeTypeface.cs
- ISessionStateStore.cs
- Material.cs
- DataControlFieldCell.cs
- ImageBrush.cs
- DecimalMinMaxAggregationOperator.cs
- HtmlTableCell.cs
- SaveFileDialog.cs
- LongValidatorAttribute.cs
- LoginName.cs
- DBNull.cs
- ConfigurationStrings.cs
- Span.cs
- AssociatedControlConverter.cs
- ClassImporter.cs
- NavigateEvent.cs
- BaseWebProxyFinder.cs
- RegistrySecurity.cs
- ToolStripArrowRenderEventArgs.cs
- ResourcesChangeInfo.cs
- BamlVersionHeader.cs
- SpotLight.cs
- QilValidationVisitor.cs
- BaseDataList.cs
- SByte.cs
- SafeRightsManagementSessionHandle.cs
- ValidatedControlConverter.cs
- PixelFormat.cs
- DefaultHttpHandler.cs
- AsmxEndpointPickerExtension.cs
- PersonalizationProviderCollection.cs
- SQLInt16Storage.cs
- FlowPosition.cs
- StructureChangedEventArgs.cs
- CompilerLocalReference.cs
- CompileLiteralTextParser.cs
- BamlBinaryReader.cs
- RIPEMD160.cs
- SQLSingleStorage.cs
- HtmlGenericControl.cs
- DesignerActionTextItem.cs
- DataTemplateSelector.cs
- FixedSchema.cs
- XmlDeclaration.cs
- MediaTimeline.cs
- SoapRpcMethodAttribute.cs
- ErasingStroke.cs
- NullableIntMinMaxAggregationOperator.cs
- QilIterator.cs
- RichTextBoxAutomationPeer.cs
- ElementUtil.cs
- DataControlField.cs
- SettingsPropertyIsReadOnlyException.cs
- TCPListener.cs
- PathFigureCollectionValueSerializer.cs
- WorkflowQueue.cs
- RowType.cs
- InstallerTypeAttribute.cs
- SQLInt64Storage.cs
- AssemblyGen.cs
- WebSysDescriptionAttribute.cs
- ViewGenerator.cs
- BamlLocalizationDictionary.cs
- SectionInput.cs
- ColorIndependentAnimationStorage.cs
- RegexWorker.cs
- Label.cs
- HitTestWithGeometryDrawingContextWalker.cs