Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / SignatureResourcePool.cs / 1305376 / SignatureResourcePool.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.IO; using System.Security.Cryptography; using System.IdentityModel.Tokens; using System.Xml; using System.Text; // for sequential use by one thread sealed class SignatureResourcePool { const int BufferSize = 64; CanonicalizationDriver canonicalizationDriver; HashStream hashStream; HashAlgorithm hashAlgorithm; #if NO XmlC14NWriter integratedWriter; #endif XmlDictionaryWriter utf8Writer; byte[] encodingBuffer; char[] base64Buffer; public char[] TakeBase64Buffer() { if (this.base64Buffer == null) { this.base64Buffer = new char[BufferSize]; } return this.base64Buffer; } public CanonicalizationDriver TakeCanonicalizationDriver() { if (this.canonicalizationDriver == null) { this.canonicalizationDriver = new CanonicalizationDriver(); } else { this.canonicalizationDriver.Reset(); } return this.canonicalizationDriver; } public byte[] TakeEncodingBuffer() { if (this.encodingBuffer == null) { this.encodingBuffer = new byte[BufferSize]; } return this.encodingBuffer; } public HashAlgorithm TakeHashAlgorithm(string algorithm) { if ( this.hashAlgorithm == null ) { if ( String.IsNullOrEmpty( algorithm ) ) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument( algorithm, SR.GetString( SR.EmptyOrNullArgumentString, "algorithm" ) ); } this.hashAlgorithm = CryptoHelper.CreateHashAlgorithm( algorithm ); } else { this.hashAlgorithm.Initialize(); } return this.hashAlgorithm; } public HashStream TakeHashStream(HashAlgorithm hash) { if (this.hashStream == null) { this.hashStream = new HashStream(hash); } else { this.hashStream.Reset(hash); } return this.hashStream; } public HashStream TakeHashStream(string algorithm) { return TakeHashStream(TakeHashAlgorithm(algorithm)); } #if NO public XmlC14NWriter TakeIntegratedWriter(Stream stream) { return TakeIntegratedWriter(stream, false, null); } public XmlC14NWriter TakeIntegratedWriter(Stream stream, bool includeComments, string[] inclusivePrefixes) { if (this.integratedWriter == null) { this.integratedWriter = new XmlC14NWriter(stream, includeComments, inclusivePrefixes); } else { this.integratedWriter.SetOutput(stream, includeComments, inclusivePrefixes); } return this.integratedWriter; } #endif public XmlDictionaryWriter TakeUtf8Writer() { if (this.utf8Writer == null) { this.utf8Writer = XmlDictionaryWriter.CreateTextWriter(Stream.Null, Encoding.UTF8, false); } else { ((IXmlTextWriterInitializer) this.utf8Writer).SetOutput(Stream.Null, Encoding.UTF8, false); } return this.utf8Writer; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SQLStringStorage.cs
- XmlWriterTraceListener.cs
- ByteRangeDownloader.cs
- Comparer.cs
- AmbientLight.cs
- SharedUtils.cs
- IssuedTokenParametersElement.cs
- ReadOnlyObservableCollection.cs
- DownloadProgressEventArgs.cs
- DTCTransactionManager.cs
- Geometry.cs
- SystemColors.cs
- PageAdapter.cs
- HtmlContainerControl.cs
- MissingSatelliteAssemblyException.cs
- WebPartTransformerAttribute.cs
- RegisteredHiddenField.cs
- ThemeableAttribute.cs
- IImplicitResourceProvider.cs
- ItemContainerGenerator.cs
- URL.cs
- ReferentialConstraint.cs
- MediaContext.cs
- SimpleRecyclingCache.cs
- ColorConvertedBitmap.cs
- CodePageEncoding.cs
- SoapCommonClasses.cs
- ConfigurationValues.cs
- RegexStringValidatorAttribute.cs
- CodeGotoStatement.cs
- LoginView.cs
- HttpHostedTransportConfiguration.cs
- BuildProvidersCompiler.cs
- CapabilitiesAssignment.cs
- CatalogZoneBase.cs
- CounterNameConverter.cs
- FileEnumerator.cs
- ReadOnlyDataSource.cs
- ScrollBarAutomationPeer.cs
- CompModSwitches.cs
- EntityStoreSchemaFilterEntry.cs
- DirectoryLocalQuery.cs
- UnionExpr.cs
- RuntimeHandles.cs
- UserNameSecurityToken.cs
- XmlDataSourceNodeDescriptor.cs
- XmlnsCache.cs
- Stack.cs
- SurrogateEncoder.cs
- InvalidOleVariantTypeException.cs
- DataGridViewCellLinkedList.cs
- HttpCookie.cs
- ConsoleCancelEventArgs.cs
- TextFindEngine.cs
- SiteMapHierarchicalDataSourceView.cs
- DPAPIProtectedConfigurationProvider.cs
- MonitoringDescriptionAttribute.cs
- BooleanProjectedSlot.cs
- CommandPlan.cs
- HierarchicalDataSourceDesigner.cs
- ADConnectionHelper.cs
- StringHelper.cs
- SoapExtensionStream.cs
- EventLogStatus.cs
- InvalidContentTypeException.cs
- Point.cs
- mediaclock.cs
- ExpressionEditorSheet.cs
- EncryptedHeader.cs
- CompilerHelpers.cs
- WebPartEditorOkVerb.cs
- COSERVERINFO.cs
- CodeNamespaceImport.cs
- PaperSource.cs
- FontNamesConverter.cs
- UseManagedPresentationBindingElement.cs
- DispatcherHooks.cs
- CompiledRegexRunnerFactory.cs
- CompleteWizardStep.cs
- XPathPatternParser.cs
- _HeaderInfoTable.cs
- UserValidatedEventArgs.cs
- FreezableOperations.cs
- ExecutionEngineException.cs
- WindowsFormsSynchronizationContext.cs
- DesignTimeParseData.cs
- DocumentPage.cs
- LineServicesCallbacks.cs
- MultipartContentParser.cs
- XmlAttributes.cs
- HttpStreamMessageEncoderFactory.cs
- GridViewColumnHeaderAutomationPeer.cs
- _BufferOffsetSize.cs
- PeerApplication.cs
- TemplateLookupAction.cs
- WebHostScriptMappingsInstallComponent.cs
- BypassElementCollection.cs
- FastEncoderWindow.cs
- documentation.cs
- StringReader.cs