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
- SplashScreenNativeMethods.cs
- XamlFilter.cs
- VirtualPathData.cs
- ByteRangeDownloader.cs
- StandardCommands.cs
- WeakReferenceList.cs
- Event.cs
- SafeNativeMethodsOther.cs
- _UriTypeConverter.cs
- PasswordTextContainer.cs
- EntityDataSourceReferenceGroup.cs
- ListSortDescriptionCollection.cs
- ActiveXContainer.cs
- TemplateBindingExtensionConverter.cs
- BamlBinaryReader.cs
- SystemIcmpV6Statistics.cs
- Quad.cs
- TypeSystem.cs
- MediaCommands.cs
- EntityCodeGenerator.cs
- TypeGeneratedEventArgs.cs
- PinnedBufferMemoryStream.cs
- CommandID.cs
- SortFieldComparer.cs
- SerializerWriterEventHandlers.cs
- SmtpDigestAuthenticationModule.cs
- ManipulationStartedEventArgs.cs
- _ConnectStream.cs
- FormViewPageEventArgs.cs
- RelationshipEnd.cs
- CssStyleCollection.cs
- RowToFieldTransformer.cs
- RelatedCurrencyManager.cs
- ModifierKeysValueSerializer.cs
- MimeReturn.cs
- RadioButtonList.cs
- PreDigestedSignedInfo.cs
- Config.cs
- Message.cs
- XmlCharacterData.cs
- __ConsoleStream.cs
- CodeTypeOfExpression.cs
- SecurityState.cs
- DataGridViewTopLeftHeaderCell.cs
- PrintDialogException.cs
- ReturnValue.cs
- tooltip.cs
- RelatedPropertyManager.cs
- MtomMessageEncodingElement.cs
- EditorBrowsableAttribute.cs
- HttpCookieCollection.cs
- PostBackOptions.cs
- PkcsUtils.cs
- RequestQueue.cs
- TableChangeProcessor.cs
- AstTree.cs
- TypedRowGenerator.cs
- Inflater.cs
- ToolStripRenderEventArgs.cs
- MenuBindingsEditorForm.cs
- SafeRegistryHandle.cs
- LicenseProviderAttribute.cs
- Polyline.cs
- DispatchOperation.cs
- XmlMemberMapping.cs
- UnsafeCollabNativeMethods.cs
- NamedPipeProcessProtocolHandler.cs
- SqlUdtInfo.cs
- TablePattern.cs
- TreeNodeBinding.cs
- UnsafeNativeMethods.cs
- EntityDataSourceConfigureObjectContext.cs
- ArgIterator.cs
- AuthenticationModuleElementCollection.cs
- LogLogRecord.cs
- RowUpdatedEventArgs.cs
- ProcessInfo.cs
- DbXmlEnabledProviderManifest.cs
- SuppressMergeCheckAttribute.cs
- ISAPIWorkerRequest.cs
- TreeNodeConverter.cs
- HandlerFactoryWrapper.cs
- UITypeEditor.cs
- HyperLinkColumn.cs
- mediaclock.cs
- ConnectionManagementElement.cs
- InputBuffer.cs
- SqlCacheDependencyDatabase.cs
- CollectionAdapters.cs
- PartialArray.cs
- XmlBoundElement.cs
- AttachedPropertyDescriptor.cs
- ToolStripEditorManager.cs
- StrongNameHelpers.cs
- xamlnodes.cs
- UIHelper.cs
- TemplateXamlParser.cs
- ItemsControl.cs
- CodeNamespace.cs
- StyleCollection.cs