Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / SMDiagnostics / System / ServiceModel / Diagnostics / EncodingFallbackAwareXmlTextWriter.cs / 1305376 / EncodingFallbackAwareXmlTextWriter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using System.Xml; using System.Text; using System.IO; class EncodingFallbackAwareXmlTextWriter : XmlTextWriter { Encoding encoding; internal EncodingFallbackAwareXmlTextWriter(TextWriter writer) : base(writer) { this.encoding = writer.Encoding; } public override void WriteString(string value) { if (!string.IsNullOrEmpty(value) && ContainsInvalidXmlChar(value)) { byte[] blob = encoding.GetBytes(value); value = encoding.GetString(blob); } base.WriteString(value); } bool ContainsInvalidXmlChar(string value) { if (string.IsNullOrEmpty(value)) { return false; } int i = 0; int len = value.Length; while (i < len) { if (XmlConvert.IsXmlChar(value[i])) { i++; continue; } if (i + 1 < len && XmlConvert.IsXmlSurrogatePair(value[i + 1], value[i])) { i += 2; continue; } return true; } 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
- HotSpot.cs
- IssuanceLicense.cs
- WebPartsSection.cs
- DynamicResourceExtensionConverter.cs
- Timer.cs
- CanonicalFontFamilyReference.cs
- MimeParameter.cs
- UserPreferenceChangedEventArgs.cs
- QualificationDataItem.cs
- Marshal.cs
- UnsafeMethods.cs
- StateInitialization.cs
- FormatterConverter.cs
- ExpressionBuilderContext.cs
- SignatureDescription.cs
- ReturnType.cs
- DisplayNameAttribute.cs
- GeneralTransform2DTo3D.cs
- ReflectionTypeLoadException.cs
- StdValidatorsAndConverters.cs
- XmlWellformedWriter.cs
- LayoutEditorPart.cs
- HotSpot.cs
- Dispatcher.cs
- ReturnValue.cs
- WorkItem.cs
- SiblingIterators.cs
- TemplateControlBuildProvider.cs
- XDeferredAxisSource.cs
- DropTarget.cs
- MachineKeySection.cs
- MailMessageEventArgs.cs
- ValueHandle.cs
- QueryOptionExpression.cs
- DataControlCommands.cs
- CustomErrorCollection.cs
- ObsoleteAttribute.cs
- QilInvoke.cs
- X509CertificateStore.cs
- DbParameterCollection.cs
- SourceFileInfo.cs
- NavigatorOutput.cs
- HostedHttpTransportManager.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ZoneMembershipCondition.cs
- XmlProcessingInstruction.cs
- OptimalTextSource.cs
- SQLBytesStorage.cs
- SqlDataSourceFilteringEventArgs.cs
- TemplateXamlParser.cs
- XPathNodeHelper.cs
- WinEventHandler.cs
- RectValueSerializer.cs
- AncestorChangedEventArgs.cs
- SvcMapFileSerializer.cs
- EntityReference.cs
- SqlTriggerAttribute.cs
- DiscoveryProxy.cs
- InstanceLockQueryResult.cs
- HttpBrowserCapabilitiesWrapper.cs
- SecurityContextSecurityTokenResolver.cs
- ValidationEventArgs.cs
- WindowsRegion.cs
- Encoding.cs
- CodeValidator.cs
- Quaternion.cs
- InstanceKeyNotReadyException.cs
- StoreItemCollection.cs
- XPathException.cs
- controlskin.cs
- XmlSchemaException.cs
- DataGridColumnCollection.cs
- MetaChildrenColumn.cs
- ProviderConnectionPointCollection.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- PathSegmentCollection.cs
- DataSourceDescriptorCollection.cs
- BitmapEffectInputData.cs
- SourceSwitch.cs
- UnmanagedHandle.cs
- MessageOperationFormatter.cs
- LineVisual.cs
- ByteStorage.cs
- Accessible.cs
- DataListItemEventArgs.cs
- ConfigurationValue.cs
- HttpMethodAttribute.cs
- Vector3DAnimationBase.cs
- GridViewCommandEventArgs.cs
- DBConnection.cs
- TemplateInstanceAttribute.cs
- KeyBinding.cs
- Stacktrace.cs
- PenContexts.cs
- MarkupWriter.cs
- PeerTransportCredentialType.cs
- XmlElementAttribute.cs
- ExpandSegmentCollection.cs
- QueryLifecycle.cs
- XMLSyntaxException.cs