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
- XsdBuildProvider.cs
- RulePatternOps.cs
- basecomparevalidator.cs
- StreamReader.cs
- MissingMethodException.cs
- SiteMapProvider.cs
- VScrollProperties.cs
- FeatureSupport.cs
- ResourceReferenceKeyNotFoundException.cs
- BypassElement.cs
- AppSettingsSection.cs
- EnumMemberAttribute.cs
- WindowsIPAddress.cs
- UidPropertyAttribute.cs
- BitmapData.cs
- DataControlFieldHeaderCell.cs
- ConnectionManagementElement.cs
- DeviceContext.cs
- IdentifierCreationService.cs
- Pen.cs
- Line.cs
- RightsManagementProvider.cs
- DocumentCollection.cs
- ObjectDataSourceEventArgs.cs
- MetricEntry.cs
- MaskedTextBox.cs
- DispatcherHookEventArgs.cs
- BamlLocalizableResource.cs
- HybridDictionary.cs
- RawStylusSystemGestureInputReport.cs
- assertwrapper.cs
- DataGridViewRowPrePaintEventArgs.cs
- SR.cs
- CrossSiteScriptingValidation.cs
- TextServicesProperty.cs
- HttpModuleAction.cs
- CodeChecksumPragma.cs
- DispatcherBuilder.cs
- MergeFailedEvent.cs
- SortedDictionary.cs
- InvokeMethodActivityDesigner.cs
- ColumnBinding.cs
- WebPartActionVerb.cs
- PersistenceProviderDirectory.cs
- AnimatedTypeHelpers.cs
- KnownIds.cs
- WebPartZoneDesigner.cs
- TreeNodeCollection.cs
- HtmlTernaryTree.cs
- MessageQueueAccessControlEntry.cs
- ObfuscationAttribute.cs
- RegexTree.cs
- AuthenticationSection.cs
- LinqDataSourceContextEventArgs.cs
- TableRow.cs
- SplitterEvent.cs
- DropSource.cs
- WsatConfiguration.cs
- WebPartDisplayModeCollection.cs
- UnsafeNativeMethods.cs
- HostExecutionContextManager.cs
- CollectionViewProxy.cs
- NetCodeGroup.cs
- UnSafeCharBuffer.cs
- KeyValueInternalCollection.cs
- ValidationEventArgs.cs
- HtmlImage.cs
- Missing.cs
- ProgressBar.cs
- Renderer.cs
- URLIdentityPermission.cs
- CompilerErrorCollection.cs
- Attributes.cs
- XmlSchemaDocumentation.cs
- LexicalChunk.cs
- ProcessHostFactoryHelper.cs
- Package.cs
- ISFClipboardData.cs
- Point3DKeyFrameCollection.cs
- COM2IPerPropertyBrowsingHandler.cs
- StyleTypedPropertyAttribute.cs
- MemberDomainMap.cs
- ProxyGenerationError.cs
- WindowsButton.cs
- AndCondition.cs
- XmlSchemaAttributeGroupRef.cs
- PagePropertiesChangingEventArgs.cs
- UnmanagedBitmapWrapper.cs
- CodeTypeParameter.cs
- regiisutil.cs
- wgx_exports.cs
- VirtualStackFrame.cs
- Thickness.cs
- ObjectParameter.cs
- XmlSchemaSimpleTypeList.cs
- TargetParameterCountException.cs
- SatelliteContractVersionAttribute.cs
- SecurityState.cs
- AssociationSetMetadata.cs
- Converter.cs