Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Protocol / RegistryConfigurationProvider.cs / 1 / RegistryConfigurationProvider.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // Implement the ConfigurationProvider base class for the system registry using System; using System.ServiceModel.Channels; using System.IO; using System.Security; using System.Security.AccessControl; using Microsoft.Transactions.Bridge; using Microsoft.Win32; namespace Microsoft.Transactions.Wsat.Protocol { class RegistryConfigurationProvider : ConfigurationProvider { RegistryKey regKey; public RegistryConfigurationProvider(RegistryKey rootKey, string subKey) { try { if (rootKey != null) { // This can return null if the key does not exist this.regKey = rootKey.OpenSubKey(subKey, RegistryKeyPermissionCheck.ReadSubTree, RegistryRights.ReadKey); } } catch (SecurityException e) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ConfigurationProviderException(SR.GetString(SR.RegistryKeyOpenSubKeyFailed, subKey, rootKey.Name, e.Message), e)); } catch (IOException e) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ConfigurationProviderException(SR.GetString(SR.RegistryKeyOpenSubKeyFailed, subKey, rootKey.Name, e.Message), e)); } } public override void Dispose() { if (this.regKey != null) { this.regKey.Close(); this.regKey = null; } } object ReadValue(string value, object defaultValue) { if (this.regKey == null) return defaultValue; try { return this.regKey.GetValue(value, defaultValue); } catch (SecurityException e) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ConfigurationProviderException(SR.GetString(SR.RegistryKeyGetValueFailed, value, this.regKey.Name, e.Message), e)); } catch (IOException e) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ConfigurationProviderException(SR.GetString(SR.RegistryKeyGetValueFailed, value, this.regKey.Name, e.Message), e)); } } public override int ReadInteger(string value, int defaultValue) { object regValue = ReadValue(value, defaultValue); if (regValue == null || !(regValue is Int32)) return defaultValue; return (int)regValue; } public override string ReadString(string value, string defaultValue) { object regValue = ReadValue(value, defaultValue); if (regValue == null) return defaultValue; string regString = regValue as string; if (regString == null) return defaultValue; return regString; } public override string[] ReadMultiString(string value, string[] defaultValue) { object regValue = ReadValue(value, defaultValue); if (regValue == null) return defaultValue; string[] regMulti = regValue as string[]; if (regMulti == null) return defaultValue; return regMulti; } public override ConfigurationProvider OpenKey(string key) { return new RegistryConfigurationProvider(this.regKey, key); } } } // 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
- EventLogPermission.cs
- OdbcParameter.cs
- ProfilePropertySettings.cs
- IPipelineRuntime.cs
- BitmapCodecInfo.cs
- Range.cs
- ChannelManager.cs
- HtmlElementErrorEventArgs.cs
- StringSource.cs
- MemberDomainMap.cs
- TemplateKey.cs
- ShaderEffect.cs
- LogReservationCollection.cs
- ErrorFormatterPage.cs
- MatrixCamera.cs
- LinkUtilities.cs
- WebPartAuthorizationEventArgs.cs
- HttpServerUtilityWrapper.cs
- ViewSimplifier.cs
- BCLDebug.cs
- DateTimeStorage.cs
- PointAnimationBase.cs
- MappedMetaModel.cs
- Stopwatch.cs
- ExpressionHelper.cs
- relpropertyhelper.cs
- CheckPair.cs
- PageBuildProvider.cs
- CounterCreationData.cs
- DocumentCollection.cs
- Select.cs
- KnownBoxes.cs
- CellCreator.cs
- ToolStripContentPanelRenderEventArgs.cs
- Queue.cs
- LiteralSubsegment.cs
- WmpBitmapEncoder.cs
- SqlCacheDependencyDatabaseCollection.cs
- HScrollProperties.cs
- HostedTcpTransportManager.cs
- SafeFileMappingHandle.cs
- CompositionCommandSet.cs
- GCHandleCookieTable.cs
- TextDecorationLocationValidation.cs
- HashAlgorithm.cs
- AxisAngleRotation3D.cs
- LineUtil.cs
- FixedSOMGroup.cs
- HttpClientCertificate.cs
- cache.cs
- Size.cs
- WS2007FederationHttpBinding.cs
- DispatchChannelSink.cs
- Rect3DValueSerializer.cs
- DataServiceSaveChangesEventArgs.cs
- MatrixConverter.cs
- QilFactory.cs
- XmlDataProvider.cs
- InstallerTypeAttribute.cs
- LambdaCompiler.Statements.cs
- XmlSchemaInfo.cs
- ObjectTypeMapping.cs
- HighlightVisual.cs
- Shape.cs
- StringToken.cs
- DataSourceControlBuilder.cs
- TraceHelpers.cs
- FormatControl.cs
- DbTransaction.cs
- InArgument.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- TypeSystem.cs
- ToolStripProgressBar.cs
- TraceUtility.cs
- ControlsConfig.cs
- CachedBitmap.cs
- Point3DAnimationUsingKeyFrames.cs
- BaseProcessor.cs
- RoleExceptions.cs
- LoggedException.cs
- SystemIPv6InterfaceProperties.cs
- DataGridViewCellParsingEventArgs.cs
- StorageFunctionMapping.cs
- EpmContentSerializerBase.cs
- SrgsText.cs
- SystemFonts.cs
- MailBnfHelper.cs
- SystemParameters.cs
- ControlParameter.cs
- CodeDirectionExpression.cs
- FontWeights.cs
- ThousandthOfEmRealDoubles.cs
- ComboBoxRenderer.cs
- ScriptReferenceEventArgs.cs
- TableLayoutPanelResizeGlyph.cs
- AddInAttribute.cs
- ServiceDeploymentInfo.cs
- SessionStateSection.cs
- HtmlTitle.cs
- ImportCatalogPart.cs