Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Channels / HttpStreamXmlDictionaryWriter.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SimpleHandlerFactory.cs
- DesignColumnCollection.cs
- SpellCheck.cs
- OdbcEnvironmentHandle.cs
- HMACSHA1.cs
- DocumentReferenceCollection.cs
- DataRecordInternal.cs
- Boolean.cs
- ValidationRule.cs
- ManagementException.cs
- AuthStoreRoleProvider.cs
- X509CertificateTrustedIssuerElement.cs
- BitmapEffectGeneralTransform.cs
- OrderByBuilder.cs
- PropertyInformationCollection.cs
- ApplicationHost.cs
- ConfigXmlWhitespace.cs
- EntryPointNotFoundException.cs
- ClaimTypeElement.cs
- WeakReferenceEnumerator.cs
- ISAPIWorkerRequest.cs
- NativeMethods.cs
- SynchronizationLockException.cs
- Expression.cs
- WebPartConnectionsDisconnectVerb.cs
- InternalDispatchObject.cs
- XPathMessageFilter.cs
- HttpCapabilitiesEvaluator.cs
- HostExecutionContextManager.cs
- QuaternionRotation3D.cs
- AlignmentYValidation.cs
- CodeTypeDeclarationCollection.cs
- RectAnimationBase.cs
- CharEntityEncoderFallback.cs
- MetadataItem.cs
- StorageSetMapping.cs
- ScriptingRoleServiceSection.cs
- SurrogateSelector.cs
- ConfigurationLocation.cs
- ReadOnlyNameValueCollection.cs
- EncodingInfo.cs
- MgmtResManager.cs
- WizardStepBase.cs
- wmiprovider.cs
- ObjectAnimationBase.cs
- RouteTable.cs
- Crypto.cs
- StyleSelector.cs
- FileLogRecordEnumerator.cs
- ContentAlignmentEditor.cs
- SmtpNetworkElement.cs
- IDReferencePropertyAttribute.cs
- WorkerRequest.cs
- OdbcDataAdapter.cs
- EventToken.cs
- ComponentDispatcherThread.cs
- _BaseOverlappedAsyncResult.cs
- MessageSecurityProtocolFactory.cs
- Point3DAnimationUsingKeyFrames.cs
- DataPagerField.cs
- CultureInfoConverter.cs
- DataListCommandEventArgs.cs
- JavaScriptSerializer.cs
- WebBaseEventKeyComparer.cs
- OutputCacheProfile.cs
- AttributeData.cs
- InkCanvasSelectionAdorner.cs
- COM2PropertyDescriptor.cs
- OleAutBinder.cs
- InitializationEventAttribute.cs
- StreamUpdate.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- EntityDataSourceWrapper.cs
- ActivityExecutorSurrogate.cs
- SplineQuaternionKeyFrame.cs
- CacheOutputQuery.cs
- ReadingWritingEntityEventArgs.cs
- sqlpipe.cs
- HtmlImage.cs
- FlowPanelDesigner.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ColorConvertedBitmap.cs
- InheritanceAttribute.cs
- EntityDataSourceDesignerHelper.cs
- PropertyItemInternal.cs
- Transform3DCollection.cs
- GeneralTransform3DCollection.cs
- RoleServiceManager.cs
- SymDocumentType.cs
- EventManager.cs
- ZipPackagePart.cs
- ISAPIRuntime.cs
- FixedHighlight.cs
- LinkLabel.cs
- DataGridViewRowEventArgs.cs
- MemberRelationshipService.cs
- ConfigurationStrings.cs
- CompositeControl.cs
- HitTestParameters.cs
- XmlChildEnumerator.cs