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
- DataTableNewRowEvent.cs
- Win32Native.cs
- MemoryStream.cs
- CopyNodeSetAction.cs
- cookiecollection.cs
- Membership.cs
- EnvelopedPkcs7.cs
- CssClassPropertyAttribute.cs
- RIPEMD160.cs
- XsdBuilder.cs
- ReadOnlyDictionary.cs
- MetaModel.cs
- CleanUpVirtualizedItemEventArgs.cs
- CapiSymmetricAlgorithm.cs
- configsystem.cs
- CodePropertyReferenceExpression.cs
- DataView.cs
- Rect3DValueSerializer.cs
- ListDataHelper.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ProxySimple.cs
- StylusTouchDevice.cs
- DefaultPropertyAttribute.cs
- PagesSection.cs
- UnsafeNativeMethods.cs
- ValueConversionAttribute.cs
- SqlSelectStatement.cs
- NodeFunctions.cs
- MoveSizeWinEventHandler.cs
- Part.cs
- CodeGenerator.cs
- BinaryObjectInfo.cs
- TemplateControlBuildProvider.cs
- MessageParameterAttribute.cs
- XmlText.cs
- ToolBarButton.cs
- NavigationPropertyEmitter.cs
- TreeBuilder.cs
- BulletChrome.cs
- XmlFormatExtensionPrefixAttribute.cs
- CopyOfAction.cs
- RawUIStateInputReport.cs
- loginstatus.cs
- HttpContextServiceHost.cs
- ListBindingConverter.cs
- ToolboxDataAttribute.cs
- ReferentialConstraintRoleElement.cs
- DesigntimeLicenseContext.cs
- AtomServiceDocumentSerializer.cs
- DefaultAsyncDataDispatcher.cs
- ContextMenuService.cs
- SystemIPv6InterfaceProperties.cs
- MimeTypeAttribute.cs
- WpfKnownType.cs
- ChannelManager.cs
- CharUnicodeInfo.cs
- Compiler.cs
- CompilerState.cs
- XmlComment.cs
- MultiByteCodec.cs
- WorkflowDebuggerSteppingAttribute.cs
- TCPListener.cs
- ToolStripPanelRow.cs
- followingsibling.cs
- ModifiableIteratorCollection.cs
- EventListener.cs
- HandlerBase.cs
- NotifyCollectionChangedEventArgs.cs
- PolicyDesigner.cs
- XmlSchemaGroup.cs
- ToolStripScrollButton.cs
- WebPartHelpVerb.cs
- XpsResourcePolicy.cs
- BoundsDrawingContextWalker.cs
- securitymgrsite.cs
- GridViewRowPresenter.cs
- ClassHandlersStore.cs
- FrameSecurityDescriptor.cs
- RealProxy.cs
- MinMaxParagraphWidth.cs
- AssociationType.cs
- MetadataArtifactLoader.cs
- EntityKey.cs
- DocumentAutomationPeer.cs
- PolyBezierSegment.cs
- StorageMappingItemLoader.cs
- TrackingDataItem.cs
- SdlChannelSink.cs
- DynamicResourceExtensionConverter.cs
- ObjectPersistData.cs
- TransformConverter.cs
- HttpCachePolicy.cs
- RootProfilePropertySettingsCollection.cs
- PeerName.cs
- SpinWait.cs
- ReferenceConverter.cs
- ConcurrentQueue.cs
- FlowchartStart.xaml.cs
- CollectionContainer.cs
- SoapHeaderAttribute.cs