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
- PropertyRecord.cs
- Icon.cs
- WindowsListViewScroll.cs
- XamlStyleSerializer.cs
- DataGridViewRowHeaderCell.cs
- DataTableExtensions.cs
- ReadOnlyObservableCollection.cs
- DoubleLinkList.cs
- ElementsClipboardData.cs
- HttpCookie.cs
- StateMachineWorkflowDesigner.cs
- FormViewDeleteEventArgs.cs
- ServiceCredentials.cs
- documentsequencetextcontainer.cs
- Root.cs
- ToolStripDropDownClosedEventArgs.cs
- DetailsViewModeEventArgs.cs
- TriggerBase.cs
- MarkupObject.cs
- DelimitedListTraceListener.cs
- SerializationSectionGroup.cs
- ChangeToolStripParentVerb.cs
- ResourcePermissionBaseEntry.cs
- InstanceLockQueryResult.cs
- DesigntimeLicenseContextSerializer.cs
- TreeNodeBinding.cs
- propertytag.cs
- ImageSource.cs
- EntityAdapter.cs
- AliasGenerator.cs
- IDReferencePropertyAttribute.cs
- sitestring.cs
- EventDrivenDesigner.cs
- CollaborationHelperFunctions.cs
- smtppermission.cs
- RuleConditionDialog.cs
- ConstraintCollection.cs
- SqlNode.cs
- SqlIdentifier.cs
- BufferedGraphicsManager.cs
- FlowDocumentPage.cs
- DragDrop.cs
- ZipFileInfoCollection.cs
- RegexParser.cs
- PropertyHelper.cs
- DataGridPagerStyle.cs
- DesignRelationCollection.cs
- ProfileBuildProvider.cs
- translator.cs
- DecimalConverter.cs
- TextTreeDeleteContentUndoUnit.cs
- AbstractSvcMapFileLoader.cs
- BevelBitmapEffect.cs
- XPathException.cs
- ServiceRoute.cs
- XmlIlTypeHelper.cs
- ResourcePart.cs
- EffectiveValueEntry.cs
- DataContractSet.cs
- CaseCqlBlock.cs
- XPathBuilder.cs
- MetafileEditor.cs
- TypeConverterMarkupExtension.cs
- ClientProxyGenerator.cs
- OLEDB_Util.cs
- XPathCompileException.cs
- ValidationSummaryDesigner.cs
- XmlSchemaSimpleTypeList.cs
- SQLBinary.cs
- KeyNotFoundException.cs
- BinHexEncoding.cs
- ShapeTypeface.cs
- BrowserDefinitionCollection.cs
- PlatformCulture.cs
- ScrollBar.cs
- XXXInfos.cs
- BuildDependencySet.cs
- CacheDependency.cs
- UnsafeNativeMethodsTablet.cs
- SqlUDTStorage.cs
- ExpandCollapsePattern.cs
- Random.cs
- WSMessageEncoding.cs
- CachingHintValidation.cs
- GetMemberBinder.cs
- DiffuseMaterial.cs
- SmiContext.cs
- XmlSchemaIdentityConstraint.cs
- MILUtilities.cs
- ForceCopyBuildProvider.cs
- MemberJoinTreeNode.cs
- BindingOperations.cs
- MetadataPropertyAttribute.cs
- DescendentsWalkerBase.cs
- Stackframe.cs
- NegationPusher.cs
- ReferenceSchema.cs
- MinimizableAttributeTypeConverter.cs
- SQLInt64Storage.cs
- QueryPageSettingsEventArgs.cs