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
- ConcatQueryOperator.cs
- CharacterBuffer.cs
- TimeManager.cs
- BitSet.cs
- shaperfactoryquerycacheentry.cs
- CommonServiceBehaviorElement.cs
- TlsSspiNegotiation.cs
- SqlDeflator.cs
- EdgeProfileValidation.cs
- DataTableNewRowEvent.cs
- FontSource.cs
- RefType.cs
- CommandDevice.cs
- TracingConnectionListener.cs
- DataGridViewCellEventArgs.cs
- BaseParser.cs
- TextEncodedRawTextWriter.cs
- ResourceKey.cs
- BindingList.cs
- RemotingAttributes.cs
- DispatchWrapper.cs
- WebServiceErrorEvent.cs
- RadioButton.cs
- ContextProperty.cs
- AttributeProviderAttribute.cs
- SplayTreeNode.cs
- ObjectKeyFrameCollection.cs
- ObjectSpanRewriter.cs
- DataGridViewDataErrorEventArgs.cs
- SqlCrossApplyToCrossJoin.cs
- CodeGotoStatement.cs
- CacheEntry.cs
- DoubleAnimationBase.cs
- Listen.cs
- ISO2022Encoding.cs
- XmlSchemaExporter.cs
- IOThreadTimer.cs
- StdRegProviderWrapper.cs
- QueryProcessor.cs
- IDQuery.cs
- PinnedBufferMemoryStream.cs
- StaticContext.cs
- NoneExcludedImageIndexConverter.cs
- GetImportedCardRequest.cs
- SamlDelegatingWriter.cs
- BoolExpression.cs
- Brush.cs
- DesignerAttribute.cs
- LinkArea.cs
- Size.cs
- ApplicationHost.cs
- ClientFactory.cs
- StateChangeEvent.cs
- DesignTimeType.cs
- EventHandlerList.cs
- ChildTable.cs
- EdmScalarPropertyAttribute.cs
- FindCompletedEventArgs.cs
- GenericNameHandler.cs
- AutomationAttributeInfo.cs
- TextBoxAutomationPeer.cs
- NullRuntimeConfig.cs
- ReversePositionQuery.cs
- CompositeCollectionView.cs
- base64Transforms.cs
- AttachedAnnotation.cs
- EncoderFallback.cs
- Variable.cs
- WebPartsSection.cs
- RoleManagerModule.cs
- ChameleonKey.cs
- CompilerGeneratedAttribute.cs
- DecimalAnimation.cs
- FontDriver.cs
- FormViewDeleteEventArgs.cs
- DESCryptoServiceProvider.cs
- SafeEventLogWriteHandle.cs
- StateWorkerRequest.cs
- MissingFieldException.cs
- XsltSettings.cs
- LayoutTableCell.cs
- HttpRuntimeSection.cs
- CodePropertyReferenceExpression.cs
- SpellerStatusTable.cs
- MouseActionValueSerializer.cs
- SetterBase.cs
- MessagePropertyAttribute.cs
- Pair.cs
- objectresult_tresulttype.cs
- PropertyDescriptorCollection.cs
- TabletDeviceInfo.cs
- DataGridViewUtilities.cs
- sqlcontext.cs
- ParseHttpDate.cs
- SerialPort.cs
- TextHidden.cs
- KeyConverter.cs
- WindowsSlider.cs
- TypeNameParser.cs
- StaticContext.cs