Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcConnectionString.cs / 1305376 / OdbcConnectionString.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace System.Data.Odbc {
using System;
using System.Collections;
using System.Data;
using System.Data.Common;
using System.Security;
using System.Security.Permissions;
using System.Text;
internal sealed class OdbcConnectionString : DbConnectionOptions {
// instances of this class are intended to be immutable, i.e readonly
// used by pooling classes so it is much easier to verify correctness
// when not worried about the class being modified during execution
private static class KEY {
internal const string SaveFile = "savefile";
}
private readonly string _expandedConnectionString;
internal OdbcConnectionString(string connectionString, bool validate) : base(connectionString, null, true) {
if (!validate) {
string filename = null;
int position = 0;
_expandedConnectionString = ExpandDataDirectories(ref filename, ref position);
}
if (validate || (null == _expandedConnectionString)) {
// do not check string length if it was expanded because the final result may be shorter than the original
if ((null != connectionString) && (ODBC32.MAX_CONNECTION_STRING_LENGTH < connectionString.Length)) { // MDAC 83536
throw ODBC.ConnectionStringTooLong();
}
}
}
protected internal override System.Security.PermissionSet CreatePermissionSet() {
System.Security.PermissionSet permissionSet;
if (ContainsKey(KEY.SaveFile)) {
permissionSet = new NamedPermissionSet("FullTrust");
}
else {
permissionSet = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.None);
permissionSet.AddPermission(new OdbcPermission(this));
}
return permissionSet;
}
protected internal override string Expand() {
if (null != _expandedConnectionString) {
return _expandedConnectionString;
}
else {
return base.Expand();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BrowsableAttribute.cs
- GridViewRow.cs
- LogicalTreeHelper.cs
- XmlSerializerAssemblyAttribute.cs
- SimpleBitVector32.cs
- VirtualPathExtension.cs
- RadioButton.cs
- FactoryMaker.cs
- WorkflowServiceBehavior.cs
- TableCell.cs
- CriticalFinalizerObject.cs
- Attributes.cs
- ChineseLunisolarCalendar.cs
- SafeViewOfFileHandle.cs
- ConstNode.cs
- Selection.cs
- CustomAssemblyResolver.cs
- EraserBehavior.cs
- StylusPlugInCollection.cs
- ServiceModelConfiguration.cs
- DescriptionAttribute.cs
- HScrollProperties.cs
- OdbcDataReader.cs
- DbParameterCollectionHelper.cs
- PrivilegedConfigurationManager.cs
- AsymmetricSignatureDeformatter.cs
- TypeDescriptionProvider.cs
- PopupControlService.cs
- EntityDataSourceDesigner.cs
- XmlSerializerAssemblyAttribute.cs
- _OSSOCK.cs
- ShapingWorkspace.cs
- XmlSchemaSimpleTypeList.cs
- DataPagerFieldCollection.cs
- InvalidPipelineStoreException.cs
- LockedBorderGlyph.cs
- WindowHideOrCloseTracker.cs
- KeyedQueue.cs
- PolyBezierSegment.cs
- EntityType.cs
- BindableAttribute.cs
- QuaternionConverter.cs
- oledbmetadatacollectionnames.cs
- TimeSpanSecondsConverter.cs
- SerializationBinder.cs
- SqlWebEventProvider.cs
- DoubleCollectionValueSerializer.cs
- CustomExpression.cs
- CodeTypeOfExpression.cs
- ResourceWriter.cs
- XmlBoundElement.cs
- XmlFormatReaderGenerator.cs
- ListenerAdaptersInstallComponent.cs
- SystemIcmpV6Statistics.cs
- PlaceHolder.cs
- SchemaCollectionPreprocessor.cs
- WebBrowser.cs
- InsufficientMemoryException.cs
- SslSecurityTokenParameters.cs
- CroppedBitmap.cs
- SortQuery.cs
- IgnoreSectionHandler.cs
- PeerCredentialElement.cs
- safex509handles.cs
- AutomationAttributeInfo.cs
- BridgeDataRecord.cs
- CompiledELinqQueryState.cs
- ExpressionBuilderContext.cs
- ControlAdapter.cs
- SkewTransform.cs
- GACMembershipCondition.cs
- StateItem.cs
- RtfToXamlLexer.cs
- CollectionTraceRecord.cs
- PairComparer.cs
- CodeTypeOfExpression.cs
- CodeMethodReturnStatement.cs
- ReadOnlyCollectionBase.cs
- DeferredElementTreeState.cs
- ProxyWebPart.cs
- TraceLevelHelper.cs
- OrderedHashRepartitionStream.cs
- HttpMethodAttribute.cs
- CodeIterationStatement.cs
- TransactionFlowAttribute.cs
- CodeArrayCreateExpression.cs
- TableLayoutColumnStyleCollection.cs
- SizeConverter.cs
- IdentitySection.cs
- QueryExpr.cs
- CompilerGlobalScopeAttribute.cs
- CompilationUtil.cs
- ReadOnlyActivityGlyph.cs
- SchemaCompiler.cs
- Schema.cs
- StrongNameUtility.cs
- CriticalExceptions.cs
- Msmq4PoisonHandler.cs
- SafeSecurityHelper.cs
- MimeMultiPart.cs