Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / SecondaryIndexDefinition.cs / 1 / SecondaryIndexDefinition.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections.Generic; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Encapsulates the Rules and actions of an index. // internal sealed class SecondaryIndexDefinition { // // Summary: // All the pre-defined index names. // public const string GlobalIdIndex = "ix_globalid"; public const string ObjectTypeIndex = "ix_objecttype"; public const string NameIndex = "ix_name"; public const string RecipientIdIndex = "ix_name"; public const string ProductionServiceIndex = "ix_production_svc_uri"; public const string ParentIdIndex = "ix_parentid"; public const string MasterKeyIndex = "ix_masterkey"; public const string SupportedClaimIndex = "ix_supportclaim"; public const string SupportedAuthIndex = "ix_supportauth"; // // Summary: // define the master indexes for use in the inforcard system // static readonly SecondaryIndexDefinition[] s_masterIndexes = new SecondaryIndexDefinition[] { new SecondaryIndexDefinition( GlobalIdIndex,10,20,SecondaryIndexSettings.Unique,Canonicalizers.Binary), new SecondaryIndexDefinition( ObjectTypeIndex,10,20,SecondaryIndexSettings.None,Canonicalizers.Binary ), new SecondaryIndexDefinition( NameIndex,10,20,SecondaryIndexSettings.Nullable,Canonicalizers.CaseInsensitiveWithHashing ), new SecondaryIndexDefinition( ProductionServiceIndex,10,20,SecondaryIndexSettings.Nullable,Canonicalizers.CaseInsensitiveWithHashing ), new SecondaryIndexDefinition( ParentIdIndex,10,20,SecondaryIndexSettings.Nullable,Canonicalizers.Binary ), new SecondaryIndexDefinition( MasterKeyIndex,10,20,SecondaryIndexSettings.Nullable | SecondaryIndexSettings.Unique,Canonicalizers.BinaryWithHashing ), new SecondaryIndexDefinition( SupportedClaimIndex,50,20,SecondaryIndexSettings.Nullable,Canonicalizers.CaseSensitiveWithHashing ), new SecondaryIndexDefinition( SupportedAuthIndex,10,20,SecondaryIndexSettings.Nullable,Canonicalizers.Binary ) }; int m_initialSize; int m_growthFactor; SecondaryIndexSettings m_settings; string m_name; ICanonicalizer m_canonicalizer; private SecondaryIndexDefinition( string name, int initialSize, int growthFactor, SecondaryIndexSettings settings, ICanonicalizer canonicalizer ) { if( String.IsNullOrEmpty( name ) ) { throw IDT.ThrowHelperArgumentNull( "name" ); } if( initialSize <= 0 ) { throw IDT.ThrowHelperError( new ArgumentOutOfRangeException( "initialSize", initialSize, SR.GetString( SR.StoreIndexInitialSizeInvalid ) ) ); } if( null == canonicalizer ) { throw IDT.ThrowHelperArgumentNull( "canonicalizer" ); } if( growthFactor <= 0 ) { throw IDT.ThrowHelperError( new ArgumentOutOfRangeException( "growthFactor", growthFactor, SR.GetString( SR.StoreIndexGrowthFactorInvalid ) ) ); } m_initialSize = initialSize; m_growthFactor = growthFactor; m_settings = settings; m_name = name; m_canonicalizer = canonicalizer; } // // Summary: // Gets the global list of indexes for use in the infocard system // public static SecondaryIndexDefinition[] MasterIndexes { get { return s_masterIndexes; } } // // Summary: // Gets the canonicalizer to use with indexes. See Canonicalizers class // public ICanonicalizer Canonicalizer { get{ return m_canonicalizer; } } // // Summary: // Gets the name assiciated with this index. // public string Name { get { return m_name; } } // // Summary: // Gets the initial size of the index. // public int InitialSize { get { return m_initialSize; } } // // Summary: // Gets the growth factor for the index. // public int GrowthFactor { get { return m_growthFactor; } } // // Summary: // Gets the Settings mask for the index. // public SecondaryIndexSettings Settings { get { return m_settings; } } // // Summary: // Return a index definition by name // public static SecondaryIndexDefinition GetByName( string name ) { for( int i=0;i
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TagMapCollection.cs
- EnvelopedPkcs7.cs
- QuaternionRotation3D.cs
- ContentType.cs
- HtmlInputCheckBox.cs
- SymmetricKeyWrap.cs
- StreamWithDictionary.cs
- TextFindEngine.cs
- DesignerImageAdapter.cs
- PointAnimationClockResource.cs
- FileChangesMonitor.cs
- ParseChildrenAsPropertiesAttribute.cs
- ProcessDesigner.cs
- AspNetHostingPermission.cs
- WebPartConnection.cs
- WindowsRegion.cs
- RuleSettings.cs
- GridViewUpdateEventArgs.cs
- ApplicationDirectory.cs
- DeviceSpecificDesigner.cs
- InputScopeAttribute.cs
- ClrPerspective.cs
- SqlLiftIndependentRowExpressions.cs
- ScriptComponentDescriptor.cs
- SqlSelectClauseBuilder.cs
- GlobalProxySelection.cs
- TableRowGroup.cs
- ZoneIdentityPermission.cs
- UIElementAutomationPeer.cs
- DataRowComparer.cs
- StatusStrip.cs
- CookieProtection.cs
- DescendantOverDescendantQuery.cs
- DataShape.cs
- BitmapFrame.cs
- columnmapfactory.cs
- Int16Converter.cs
- SendActivityValidator.cs
- MenuItemStyleCollectionEditor.cs
- ChannelSinkStacks.cs
- CodeAttributeDeclaration.cs
- XmlBufferReader.cs
- UIElementCollection.cs
- PingOptions.cs
- ActivityDesigner.cs
- Variant.cs
- InvalidateEvent.cs
- RowCache.cs
- WebEncodingValidatorAttribute.cs
- ISessionStateStore.cs
- GridPatternIdentifiers.cs
- TransactionFlowElement.cs
- ObjectViewFactory.cs
- TextCompositionManager.cs
- SvcFileManager.cs
- ZipIOModeEnforcingStream.cs
- TransactionTable.cs
- WmpBitmapDecoder.cs
- Attributes.cs
- SeverityFilter.cs
- SymLanguageVendor.cs
- ComponentDispatcher.cs
- DnsEndpointIdentity.cs
- WSIdentityFaultException.cs
- X509RawDataKeyIdentifierClause.cs
- CounterCreationDataCollection.cs
- NTAccount.cs
- HotCommands.cs
- DataGridViewTextBoxCell.cs
- Accessible.cs
- CultureMapper.cs
- XmlRawWriterWrapper.cs
- DetailsViewRowCollection.cs
- BooleanSwitch.cs
- DBSchemaTable.cs
- HttpChannelBindingToken.cs
- DataGridViewColumnConverter.cs
- DependencyPropertyConverter.cs
- SecureUICommand.cs
- IOThreadScheduler.cs
- linebase.cs
- AncillaryOps.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SmiSettersStream.cs
- DataBoundControlDesigner.cs
- ListDesigner.cs
- CategoryNameCollection.cs
- HttpResponseBase.cs
- DecoratedNameAttribute.cs
- HandleExceptionArgs.cs
- InternalConfigHost.cs
- ElapsedEventArgs.cs
- _OSSOCK.cs
- oledbmetadatacolumnnames.cs
- AccessibilityHelperForXpWin2k3.cs
- DoubleLink.cs
- SslStreamSecurityElement.cs
- SortFieldComparer.cs
- HttpChannelBindingToken.cs
- DBDataPermissionAttribute.cs