Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Channels / HttpStreamXmlDictionaryWriter.cs / 1305376 / HttpStreamXmlDictionaryWriter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Net; using System.Xml; using System.Text; using System.ServiceModel.Dispatcher; using System.ServiceModel.Syndication; class HttpStreamXmlDictionaryWriter : XmlDictionaryWriter { WriteState state; Stream stream; public HttpStreamXmlDictionaryWriter(Stream stream) { if (stream == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("stream"); } this.stream = stream; this.state = WriteState.Start; } public override WriteState WriteState { get { return this.state; } } public override void Close() { if (this.state != WriteState.Closed) { this.state = WriteState.Closed; stream.Close(); } } public override void Flush() { stream.Flush(); } public override string LookupPrefix(string ns) { if (ns == string.Empty) { return string.Empty; } else if (ns == Atom10FeedFormatter.XmlNs) { return "xml"; } else if (ns == Atom10FeedFormatter.XmlNsNs) { return "xmlns"; } else { return null; } } public override void WriteBase64(byte[] buffer, int index, int count) { if (buffer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("buffer")); } if (index < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("index")); } if (count < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("count")); } if (count > buffer.Length - index) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("count", SR2.GetString(SR2.SizeExceedsRemainingBufferSpace, buffer.Length - index))); } ThrowIfClosed(); this.stream.Write(buffer, index, count); this.state = WriteState.Content; } public override void WriteCData(string text) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteCharEntity(char ch) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteChars(char[] buffer, int index, int count) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteComment(string text) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteDocType(string name, string pubid, string sysid, string subset) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteEndAttribute() { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteEndDocument() { } public override void WriteEndElement() { ThrowIfClosed(); if (this.state != WriteState.Element && this.state != WriteState.Content) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR2.GetString(SR2.EndElementWithoutStartElement))); } } public override void WriteEntityRef(string name) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteFullEndElement() { ThrowIfClosed(); if (this.state != WriteState.Element && this.state != WriteState.Content) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR2.GetString(SR2.EndElementWithoutStartElement))); } } public override void WriteProcessingInstruction(string name, string text) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteRaw(string data) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteRaw(char[] buffer, int index, int count) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteStartAttribute(string prefix, string localName, string ns) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteStartDocument(bool standalone) { ThrowIfClosed(); } public override void WriteStartDocument() { ThrowIfClosed(); } public override void WriteStartElement(string prefix, string localName, string ns) { ThrowIfClosed(); if (!string.IsNullOrEmpty(prefix) || !string.IsNullOrEmpty(ns) || localName != HttpStreamMessage.StreamElementName) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } this.state = WriteState.Element; } public override void WriteString(string text) { byte[] buffer = Convert.FromBase64String(text); WriteBase64(buffer, 0, buffer.Length); } public override void WriteSurrogateCharEntity(char lowChar, char highChar) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } public override void WriteWhitespace(string ws) { if (ws == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("ws"); } if (ws.Length != 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); } } protected void ThrowIfClosed() { if (this.state == WriteState.Closed) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR2.GetString(SR2.XmlWriterClosed))); } } } } // 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
- Visual3D.cs
- PasswordRecovery.cs
- TrackingStringDictionary.cs
- DesignerCatalogPartChrome.cs
- OlePropertyStructs.cs
- SmtpNtlmAuthenticationModule.cs
- DateBoldEvent.cs
- WsdlImporter.cs
- StatusBarAutomationPeer.cs
- GetWinFXPath.cs
- ComponentManagerBroker.cs
- ResourceDisplayNameAttribute.cs
- DataGridCaption.cs
- ClientTargetCollection.cs
- SpinWait.cs
- HttpClientCertificate.cs
- MonthChangedEventArgs.cs
- SqlDataSourceCache.cs
- LicenseManager.cs
- Environment.cs
- AssertUtility.cs
- SHA1CryptoServiceProvider.cs
- MimeFormatter.cs
- GlobalizationAssembly.cs
- SuppressMergeCheckAttribute.cs
- ScrollViewerAutomationPeer.cs
- FontStyle.cs
- JsonClassDataContract.cs
- WindowsTooltip.cs
- MasterPageParser.cs
- ItemAutomationPeer.cs
- SetMemberBinder.cs
- ToolStripSplitButton.cs
- CodeDelegateCreateExpression.cs
- ErrorFormatterPage.cs
- MetabaseReader.cs
- XsltCompileContext.cs
- HtmlElementEventArgs.cs
- TrackingCondition.cs
- GeneralTransform.cs
- ProfileService.cs
- ChannelSinkStacks.cs
- MimeFormReflector.cs
- AssociationSetMetadata.cs
- ChannelFactory.cs
- DrawingState.cs
- TreeView.cs
- ProtocolsConfigurationEntry.cs
- mediaeventshelper.cs
- EntityKey.cs
- Grant.cs
- HttpPostLocalhostServerProtocol.cs
- COM2PictureConverter.cs
- PersonalizationStateInfoCollection.cs
- documentsequencetextcontainer.cs
- XamlLoadErrorInfo.cs
- DictionaryTraceRecord.cs
- DesignColumnCollection.cs
- Matrix3D.cs
- CorePropertiesFilter.cs
- SignatureToken.cs
- FreezableCollection.cs
- EastAsianLunisolarCalendar.cs
- ModelFactory.cs
- TaskScheduler.cs
- HttpContext.cs
- DependencySource.cs
- RuntimeIdentifierPropertyAttribute.cs
- FormViewModeEventArgs.cs
- TreeNodeStyle.cs
- ReadOnlyDictionary.cs
- WorkflowCreationContext.cs
- ToolStripContentPanel.cs
- HuffmanTree.cs
- StructureChangedEventArgs.cs
- XmlNodeChangedEventManager.cs
- URLIdentityPermission.cs
- SelectionEditor.cs
- SerializerDescriptor.cs
- SqlNodeTypeOperators.cs
- DataTransferEventArgs.cs
- WebColorConverter.cs
- CorrelationResolver.cs
- UInt16Storage.cs
- CommandHelper.cs
- DateTimePicker.cs
- ContentIterators.cs
- WizardPanel.cs
- BoundPropertyEntry.cs
- UInt16Converter.cs
- DataGridComboBoxColumn.cs
- AspNetCacheProfileAttribute.cs
- BaseHashHelper.cs
- XmlSequenceWriter.cs
- CustomCategoryAttribute.cs
- FloaterBaseParaClient.cs
- SqlSupersetValidator.cs
- DynamicAttribute.cs
- ScriptHandlerFactory.cs
- ISAPIWorkerRequest.cs