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
- CodeActivityMetadata.cs
- AdCreatedEventArgs.cs
- EventTrigger.cs
- SQLMembershipProvider.cs
- ApplicationActivator.cs
- ConnectionString.cs
- Missing.cs
- MissingFieldException.cs
- _NetworkingPerfCounters.cs
- TextRangeEditTables.cs
- MenuRendererStandards.cs
- DependencyObject.cs
- UrlMapping.cs
- ResourceDefaultValueAttribute.cs
- StretchValidation.cs
- SaveCardRequest.cs
- DataViewManagerListItemTypeDescriptor.cs
- Send.cs
- ToolStripContainer.cs
- CheckBox.cs
- TimelineClockCollection.cs
- SessionSwitchEventArgs.cs
- WebColorConverter.cs
- APCustomTypeDescriptor.cs
- WindowsRichEditRange.cs
- MDIControlStrip.cs
- SequentialWorkflowHeaderFooter.cs
- ProtocolsSection.cs
- MatrixUtil.cs
- DataGridViewCellStyleConverter.cs
- DictionaryBase.cs
- SwitchLevelAttribute.cs
- TypeDescriptorFilterService.cs
- TableLayout.cs
- TextMarkerSource.cs
- FormsIdentity.cs
- QilDataSource.cs
- GradientStop.cs
- DbConnectionPoolCounters.cs
- _FtpDataStream.cs
- ClientEndpointLoader.cs
- XmlSchemaAttributeGroupRef.cs
- httpserverutility.cs
- TemplateParser.cs
- EncoderExceptionFallback.cs
- Slider.cs
- SqlUtils.cs
- ArgumentOutOfRangeException.cs
- AssemblyCache.cs
- MultiPageTextView.cs
- MustUnderstandSoapException.cs
- MetadataCollection.cs
- WebPartCollection.cs
- CrossSiteScriptingValidation.cs
- RetriableClipboard.cs
- DateTimeOffsetStorage.cs
- RadioButtonList.cs
- ForEachDesigner.xaml.cs
- ProxyFragment.cs
- ListViewHitTestInfo.cs
- AssemblyAssociatedContentFileAttribute.cs
- HandlerWithFactory.cs
- GenericEnumerator.cs
- SystemResourceKey.cs
- IsolatedStorageSecurityState.cs
- NullableIntMinMaxAggregationOperator.cs
- WebPartEditorOkVerb.cs
- ButtonChrome.cs
- ListBoxAutomationPeer.cs
- BulletChrome.cs
- Table.cs
- ArrayListCollectionBase.cs
- ISSmlParser.cs
- HtmlLink.cs
- RoutingExtension.cs
- QilTernary.cs
- ServiceOperationWrapper.cs
- ToolStripRenderer.cs
- ErrorView.xaml.cs
- ThemeDirectoryCompiler.cs
- BindingsCollection.cs
- WebReference.cs
- WebBrowserUriTypeConverter.cs
- SqlServer2KCompatibilityCheck.cs
- TypeUnloadedException.cs
- RenderData.cs
- FontConverter.cs
- DataGridState.cs
- LocationChangedEventArgs.cs
- FontCollection.cs
- DataControlFieldHeaderCell.cs
- ValidationError.cs
- MailAddress.cs
- TypeSchema.cs
- _ServiceNameStore.cs
- Rotation3DAnimation.cs
- jithelpers.cs
- PerfCounterSection.cs
- bidPrivateBase.cs
- Shape.cs