Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / CanonicalFormWriter.cs / 1305376 / CanonicalFormWriter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.IO; using System.Security.Cryptography; using System.Text; using System.Xml; abstract class CanonicalFormWriter { internal static readonly UTF8Encoding Utf8WithoutPreamble = new UTF8Encoding(false); protected static void Base64EncodeAndWrite(Stream stream, byte[] workBuffer, char[] base64WorkBuffer, byte[] data) { if ((data.Length / 3) * 4 + 4 > base64WorkBuffer.Length) { EncodeAndWrite(stream, Convert.ToBase64String(data)); return; } int encodedLength = Convert.ToBase64CharArray(data, 0, data.Length, base64WorkBuffer, 0, Base64FormattingOptions.None); EncodeAndWrite(stream, workBuffer, base64WorkBuffer, encodedLength); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, string s) { if (s.Length > workBuffer.Length) { EncodeAndWrite(stream, s); return; } for (int i = 0; i < s.Length; i++) { char c = s[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, s); return; } } stream.Write(workBuffer, 0, s.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars) { EncodeAndWrite(stream, workBuffer, chars, chars.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars, int count) { if (count > workBuffer.Length) { EncodeAndWrite(stream, chars, count); return; } for (int i = 0; i < count; i++) { char c = chars[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, chars, count); return; } } stream.Write(workBuffer, 0, count); } static void EncodeAndWrite(Stream stream, string s) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(s); stream.Write(buffer, 0, buffer.Length); } static void EncodeAndWrite(Stream stream, char[] chars, int count) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(chars, 0, count); stream.Write(buffer, 0, buffer.Length); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.IO; using System.Security.Cryptography; using System.Text; using System.Xml; abstract class CanonicalFormWriter { internal static readonly UTF8Encoding Utf8WithoutPreamble = new UTF8Encoding(false); protected static void Base64EncodeAndWrite(Stream stream, byte[] workBuffer, char[] base64WorkBuffer, byte[] data) { if ((data.Length / 3) * 4 + 4 > base64WorkBuffer.Length) { EncodeAndWrite(stream, Convert.ToBase64String(data)); return; } int encodedLength = Convert.ToBase64CharArray(data, 0, data.Length, base64WorkBuffer, 0, Base64FormattingOptions.None); EncodeAndWrite(stream, workBuffer, base64WorkBuffer, encodedLength); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, string s) { if (s.Length > workBuffer.Length) { EncodeAndWrite(stream, s); return; } for (int i = 0; i < s.Length; i++) { char c = s[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, s); return; } } stream.Write(workBuffer, 0, s.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars) { EncodeAndWrite(stream, workBuffer, chars, chars.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars, int count) { if (count > workBuffer.Length) { EncodeAndWrite(stream, chars, count); return; } for (int i = 0; i < count; i++) { char c = chars[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, chars, count); return; } } stream.Write(workBuffer, 0, count); } static void EncodeAndWrite(Stream stream, string s) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(s); stream.Write(buffer, 0, buffer.Length); } static void EncodeAndWrite(Stream stream, char[] chars, int count) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(chars, 0, count); stream.Write(buffer, 0, buffer.Length); } } } // 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
- EasingKeyFrames.cs
- CodeDomComponentSerializationService.cs
- WebControl.cs
- CookieParameter.cs
- ExpanderAutomationPeer.cs
- XmlSchemaComplexContent.cs
- SoapObjectReader.cs
- Transform3D.cs
- StoragePropertyMapping.cs
- FormViewUpdatedEventArgs.cs
- DetailsViewPageEventArgs.cs
- GridProviderWrapper.cs
- milrender.cs
- DbConnectionClosed.cs
- DataGridViewCellValidatingEventArgs.cs
- GeometryDrawing.cs
- BufferBuilder.cs
- AnimationStorage.cs
- InternalConfigSettingsFactory.cs
- SelectorAutomationPeer.cs
- DataGridRowsPresenter.cs
- ComplexTypeEmitter.cs
- CFGGrammar.cs
- HttpChannelFactory.cs
- BamlBinaryReader.cs
- SamlSecurityToken.cs
- TreeBuilderBamlTranslator.cs
- StylusPointProperty.cs
- UserControlParser.cs
- SByteStorage.cs
- XamlInterfaces.cs
- ToolStripRendererSwitcher.cs
- RoutedEventConverter.cs
- SessionEndedEventArgs.cs
- LicenseException.cs
- WindowsSysHeader.cs
- SafeSecurityHandles.cs
- CurrencyWrapper.cs
- SpellerStatusTable.cs
- MessageHeaderAttribute.cs
- HttpCachePolicy.cs
- WebPartVerb.cs
- LeftCellWrapper.cs
- serverconfig.cs
- ObjectViewFactory.cs
- AsymmetricKeyExchangeDeformatter.cs
- BamlBinaryWriter.cs
- SqlCommandSet.cs
- SchemaType.cs
- storepermission.cs
- FixedNode.cs
- ZipIOModeEnforcingStream.cs
- DrawingVisualDrawingContext.cs
- NewItemsContextMenuStrip.cs
- Vector3DAnimationUsingKeyFrames.cs
- StaticFileHandler.cs
- TreeViewBindingsEditorForm.cs
- AppSettingsExpressionBuilder.cs
- TraceListeners.cs
- RegisteredScript.cs
- ToolStripComboBox.cs
- LogWriteRestartAreaAsyncResult.cs
- MessageRpc.cs
- StateMachine.cs
- AsymmetricAlgorithm.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RemoteWebConfigurationHostStream.cs
- SerializationObjectManager.cs
- ClientSettings.cs
- unitconverter.cs
- TextSelectionHelper.cs
- MemberMaps.cs
- DesignerCommandSet.cs
- TemplateKey.cs
- GradientStop.cs
- TreeView.cs
- MetadataCache.cs
- OutputCacheProfile.cs
- ByteStream.cs
- ListViewGroupConverter.cs
- MarshalByRefObject.cs
- SQLBytes.cs
- SafeNativeMethods.cs
- XPathArrayIterator.cs
- Latin1Encoding.cs
- DesignerVerb.cs
- TraceUtils.cs
- OleDbConnection.cs
- filewebrequest.cs
- QuaternionRotation3D.cs
- AdornerDecorator.cs
- DetailsViewDeletedEventArgs.cs
- coordinatorfactory.cs
- CommandBinding.cs
- ElementProxy.cs
- MaskDescriptors.cs
- DataGridGeneralPage.cs
- WindowsNonControl.cs
- Utility.cs
- GeometryDrawing.cs