Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Channels / System / ServiceModel / Channels / XmlStreamedByteStreamReader.cs / 1305376 / XmlStreamedByteStreamReader.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System; using System.IO; using System.Runtime; using System.Xml; class XmlStreamedByteStreamReader : XmlByteStreamReader { Stream stream; public XmlStreamedByteStreamReader(Stream stream, XmlDictionaryReaderQuotas quotas) : base(quotas) { Fx.Assert(stream != null, "stream is null"); this.stream = stream; } protected override void OnClose() { if (this.stream != null) { this.stream.Close(); } this.stream = null; base.OnClose(); } public override int ReadContentAsBase64(byte[] buffer, int index, int count) { EnsureInContent(); ByteStreamMessageUtility.EnsureByteBoundaries(buffer, index, count); if (count == 0) { return 0; } int numBytesRead = stream.Read(buffer, index, count); if (numBytesRead == 0) { this.position = ReaderPosition.EndElement; } return numBytesRead; } public override bool TryGetBase64ContentLength(out int length) { // in ByteStream encoder, we're not concerned about individual xml nodes // therefore we can just return the entire length of the stream if (!this.IsClosed && this.stream.CanSeek) { long streamLength = this.stream.Length; if (streamLength <= int.MaxValue) { length = (int)streamLength; return true; } } length = -1; return false; } } } // 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
- DataGridViewTextBoxCell.cs
- XmlSchemaAnnotation.cs
- CacheDependency.cs
- ArrayWithOffset.cs
- ListViewInsertedEventArgs.cs
- MenuStrip.cs
- SqlResolver.cs
- TileBrush.cs
- MouseWheelEventArgs.cs
- TraceFilter.cs
- CharacterHit.cs
- ObjectKeyFrameCollection.cs
- GenericRootAutomationPeer.cs
- BinHexDecoder.cs
- DataGridViewCellCollection.cs
- XmlQueryType.cs
- __ComObject.cs
- RoleService.cs
- DataServiceQueryException.cs
- RoleExceptions.cs
- HelpEvent.cs
- XamlInterfaces.cs
- Bind.cs
- DoubleCollectionConverter.cs
- ToolStripSystemRenderer.cs
- XmlSchemaImporter.cs
- WebPartTransformerCollection.cs
- DragEventArgs.cs
- _DisconnectOverlappedAsyncResult.cs
- SQLDecimalStorage.cs
- XmlSchemaObject.cs
- AmbientValueAttribute.cs
- WebPartCollection.cs
- HttpProxyTransportBindingElement.cs
- TypeNameConverter.cs
- InkCanvasSelection.cs
- X509ChainElement.cs
- RequestQueue.cs
- ProtocolImporter.cs
- OleDbSchemaGuid.cs
- PolicyValidator.cs
- PropertyCollection.cs
- UriTemplateVariableQueryValue.cs
- LayoutDump.cs
- ParameterCollection.cs
- HTTPNotFoundHandler.cs
- DataGridViewSortCompareEventArgs.cs
- WebPartDeleteVerb.cs
- InkCanvas.cs
- FindCriteria11.cs
- FixedNode.cs
- ToolStripRendererSwitcher.cs
- CheckBoxFlatAdapter.cs
- DataServiceRequest.cs
- GlyphsSerializer.cs
- MenuCommand.cs
- FileUtil.cs
- IntAverageAggregationOperator.cs
- LinkedResource.cs
- CodePageUtils.cs
- ProfileSection.cs
- ProcessProtocolHandler.cs
- FixUp.cs
- NamedPermissionSet.cs
- ZipPackage.cs
- HtmlLiteralTextAdapter.cs
- StringPropertyBuilder.cs
- WriteTimeStream.cs
- DeviceContexts.cs
- WizardDesigner.cs
- DetailsViewInsertEventArgs.cs
- ToolStripItemBehavior.cs
- FormattedTextSymbols.cs
- OverlappedContext.cs
- SymmetricKey.cs
- PagesChangedEventArgs.cs
- SynchronizationValidator.cs
- DataControlField.cs
- ThousandthOfEmRealPoints.cs
- baseaxisquery.cs
- XPathAxisIterator.cs
- WebControlAdapter.cs
- TreeNode.cs
- LayoutEditorPart.cs
- EntityDataSourceChangedEventArgs.cs
- RsaSecurityToken.cs
- SortableBindingList.cs
- KeyGestureConverter.cs
- HwndMouseInputProvider.cs
- IResourceProvider.cs
- WindowsButton.cs
- TimeSpan.cs
- InstanceLockedException.cs
- DbConnectionFactory.cs
- RowTypeElement.cs
- HttpDigestClientElement.cs
- WebControlsSection.cs
- XPathNavigator.cs
- FileChangeNotifier.cs
- SystemIcmpV4Statistics.cs