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
- FilterException.cs
- WrappedKeySecurityToken.cs
- ReflectionPermission.cs
- JobPageOrder.cs
- GridViewRowPresenterBase.cs
- handlecollector.cs
- ActivityStateQuery.cs
- SrgsElementList.cs
- MimePart.cs
- ContentElement.cs
- InstanceLockQueryResult.cs
- HttpRequestWrapper.cs
- CachedTypeface.cs
- ProtocolsConfigurationEntry.cs
- ErrorHandler.cs
- CrossSiteScriptingValidation.cs
- ReferentialConstraintRoleElement.cs
- DataGridTableCollection.cs
- ExpandSegmentCollection.cs
- CodeParameterDeclarationExpression.cs
- ImmComposition.cs
- RectangleConverter.cs
- validationstate.cs
- TextBox.cs
- DynamicValueConverter.cs
- NetworkStream.cs
- Triangle.cs
- SystemInfo.cs
- FileEnumerator.cs
- QueuePathDialog.cs
- SspiSafeHandles.cs
- BaseCAMarshaler.cs
- HostedTransportConfigurationManager.cs
- AlphaSortedEnumConverter.cs
- SplineKeyFrames.cs
- ToolStripPanelCell.cs
- HttpConfigurationSystem.cs
- CategoryAttribute.cs
- DeploymentSectionCache.cs
- DecoderReplacementFallback.cs
- WorkflowApplicationException.cs
- XmlSchemaCompilationSettings.cs
- RestClientProxyHandler.cs
- CalendarDateRangeChangingEventArgs.cs
- AutoGeneratedField.cs
- DocumentApplicationJournalEntry.cs
- BaseResourcesBuildProvider.cs
- SqlDelegatedTransaction.cs
- SiteMapNode.cs
- ActiveDocumentEvent.cs
- DataColumnSelectionConverter.cs
- DataDocumentXPathNavigator.cs
- SecurityContext.cs
- UInt32Converter.cs
- BCLDebug.cs
- URLIdentityPermission.cs
- iisPickupDirectory.cs
- PackageDigitalSignatureManager.cs
- DataRow.cs
- JumpTask.cs
- DataMemberAttribute.cs
- WorkflowInstanceRecord.cs
- AutoCompleteStringCollection.cs
- MailWriter.cs
- CompilerLocalReference.cs
- LineVisual.cs
- SpellerHighlightLayer.cs
- CipherData.cs
- Attributes.cs
- PropertyGrid.cs
- ExtenderHelpers.cs
- ListViewDeletedEventArgs.cs
- OutputCacheProviderCollection.cs
- NativeMethods.cs
- SourceFileBuildProvider.cs
- DirectoryObjectSecurity.cs
- MetafileHeaderWmf.cs
- FontCollection.cs
- SafeLibraryHandle.cs
- Compiler.cs
- ElementNotAvailableException.cs
- TaskbarItemInfo.cs
- ValidationHelper.cs
- XmlPropertyBag.cs
- EntityDataSourceQueryBuilder.cs
- RepeaterDesigner.cs
- Geometry3D.cs
- InputLanguageCollection.cs
- BaseProcessProtocolHandler.cs
- DragSelectionMessageFilter.cs
- ColorDialog.cs
- TransformProviderWrapper.cs
- PageBreakRecord.cs
- DbTransaction.cs
- WeakEventManager.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- DefaultDiscoveryServiceExtension.cs
- XmlWriterDelegator.cs
- ProcessThreadCollection.cs
- TraceFilter.cs