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
- ImportCatalogPart.cs
- SmiMetaDataProperty.cs
- _ConnectionGroup.cs
- RichTextBoxConstants.cs
- UnaryNode.cs
- DynamicUpdateCommand.cs
- RemotingAttributes.cs
- CalendarItem.cs
- PathParser.cs
- IntegerValidatorAttribute.cs
- JavaScriptSerializer.cs
- ToolBarButtonDesigner.cs
- SqlGenericUtil.cs
- TextSelectionProcessor.cs
- URLBuilder.cs
- ReferenceList.cs
- TextCharacters.cs
- DocumentAutomationPeer.cs
- OdbcTransaction.cs
- DoubleAnimationUsingKeyFrames.cs
- GridViewEditEventArgs.cs
- Options.cs
- filewebresponse.cs
- IntSecurity.cs
- Query.cs
- BaseTemplateCodeDomTreeGenerator.cs
- UpdateManifestForBrowserApplication.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- BridgeDataReader.cs
- InternalConfigSettingsFactory.cs
- DependencyPropertyAttribute.cs
- TableLayoutPanelBehavior.cs
- SerialErrors.cs
- Keywords.cs
- SqlFunctionAttribute.cs
- FaultPropagationRecord.cs
- PTProvider.cs
- TreeWalker.cs
- HotSpot.cs
- Processor.cs
- CryptoProvider.cs
- SizeAnimationClockResource.cs
- AmbientValueAttribute.cs
- BaseDataList.cs
- ComPersistableTypeElementCollection.cs
- ClientSettings.cs
- Viewport3DAutomationPeer.cs
- TextReader.cs
- BaseValidator.cs
- TableColumnCollectionInternal.cs
- ServiceInfoCollection.cs
- ObjectParameter.cs
- CfgArc.cs
- Int16KeyFrameCollection.cs
- PopupRoot.cs
- TraceFilter.cs
- ListViewGroupItemCollection.cs
- MemberCollection.cs
- mactripleDES.cs
- MetadataItemSerializer.cs
- DataGridItemEventArgs.cs
- Vector3DCollectionConverter.cs
- EntityContainerEntitySetDefiningQuery.cs
- StylusPoint.cs
- UserControlCodeDomTreeGenerator.cs
- BitmapImage.cs
- TemplateBuilder.cs
- HMAC.cs
- LogWriteRestartAreaAsyncResult.cs
- ActivityDefaults.cs
- HwndSource.cs
- XmlUnspecifiedAttribute.cs
- Variable.cs
- AssociationTypeEmitter.cs
- Thumb.cs
- Validator.cs
- StorageRoot.cs
- DragCompletedEventArgs.cs
- XmlAttributeCollection.cs
- ReadonlyMessageFilter.cs
- Attachment.cs
- RequestCacheManager.cs
- ConnectionManagementElementCollection.cs
- TextViewBase.cs
- PolicyException.cs
- HttpWebRequest.cs
- WindowsPen.cs
- Span.cs
- DataGridClipboardHelper.cs
- BrushMappingModeValidation.cs
- PersianCalendar.cs
- DefaultBindingPropertyAttribute.cs
- Parser.cs
- QuinticEase.cs
- CSharpCodeProvider.cs
- InvokePattern.cs
- XmlCountingReader.cs
- Int32AnimationUsingKeyFrames.cs
- MethodCallTranslator.cs
- DynamicValueConverter.cs