Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Protocols / RuntimeUtils.cs / 1305376 / RuntimeUtils.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Protocols { using System.Web.Services; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; using System; using System.Text; using System.IO; using System.ComponentModel; using System.Globalization; using System.Web.Services.Diagnostics; internal class RuntimeUtils { private RuntimeUtils() { } internal static XmlDeserializationEvents GetDeserializationEvents() { XmlDeserializationEvents events = new XmlDeserializationEvents(); events.OnUnknownElement = new XmlElementEventHandler(OnUnknownElement); events.OnUnknownAttribute = new XmlAttributeEventHandler(OnUnknownAttribute); return events; } static void OnUnknownAttribute(object sender, XmlAttributeEventArgs e) { if (e.Attr == null) return; // ignore attributes from known namepsaces if (IsKnownNamespace(e.Attr.NamespaceURI)) return; Tracing.OnUnknownAttribute(sender, e); if (e.ExpectedAttributes == null) throw new InvalidOperationException(Res.GetString(Res.WebUnknownAttribute, e.Attr.Name, e.Attr.Value)); else if (e.ExpectedAttributes.Length == 0) throw new InvalidOperationException(Res.GetString(Res.WebUnknownAttribute2, e.Attr.Name, e.Attr.Value)); else throw new InvalidOperationException(Res.GetString(Res.WebUnknownAttribute3, e.Attr.Name, e.Attr.Value, e.ExpectedAttributes)); } internal static string ElementString(XmlElement element) { StringWriter xml = new StringWriter(CultureInfo.InvariantCulture); xml.Write("<"); xml.Write(element.Name); if (element.NamespaceURI != null && element.NamespaceURI.Length > 0) { xml.Write(" xmlns"); if (element.Prefix != null && element.Prefix.Length > 0) { xml.Write(":"); xml.Write(element.Prefix); } xml.Write("='"); xml.Write(element.NamespaceURI); xml.Write("'"); } xml.Write(">.."); xml.Write(element.Name); xml.Write(">"); return xml.ToString(); } internal static void OnUnknownElement(object sender, XmlElementEventArgs e) { if (e.Element == null) return; string xml = RuntimeUtils.ElementString(e.Element); Tracing.OnUnknownElement(sender, e); if (e.ExpectedElements == null) throw new InvalidOperationException(Res.GetString(Res.WebUnknownElement, xml)); else if (e.ExpectedElements.Length == 0) throw new InvalidOperationException(Res.GetString(Res.WebUnknownElement1, xml)); else throw new InvalidOperationException(Res.GetString(Res.WebUnknownElement2, xml, e.ExpectedElements)); } internal static bool IsKnownNamespace(string ns) { if (ns == XmlSchema.InstanceNamespace) return true; if (ns == Soap.XmlNamespace) return true; if (ns == Soap.Encoding || ns == Soap.Namespace) return true; if (ns == Soap12.Namespace || ns == Soap12.Encoding || ns == Soap12.RpcNamespace) 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
- LabelTarget.cs
- PiiTraceSource.cs
- MessageQueuePermissionEntry.cs
- XsdBuilder.cs
- Label.cs
- DetailsViewUpdatedEventArgs.cs
- DefaultPropertiesToSend.cs
- BamlTreeUpdater.cs
- RegisteredHiddenField.cs
- WebPartsPersonalization.cs
- MimeParameterWriter.cs
- DictationGrammar.cs
- ContractComponent.cs
- RoutingService.cs
- CacheForPrimitiveTypes.cs
- MeshGeometry3D.cs
- ProfileSettings.cs
- HtmlElement.cs
- ExpandCollapsePattern.cs
- PickDesigner.xaml.cs
- SecurityState.cs
- XmlHelper.cs
- Triangle.cs
- TimeSpanOrInfiniteConverter.cs
- MgmtConfigurationRecord.cs
- SchemaCollectionPreprocessor.cs
- BinaryConverter.cs
- Identifier.cs
- ControlParameter.cs
- TreeNodeCollectionEditor.cs
- FrameworkObject.cs
- EnumType.cs
- Utils.cs
- XslCompiledTransform.cs
- DataGridTextBox.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- CounterSet.cs
- AssemblyAttributesGoHere.cs
- XmlSchemaException.cs
- _WebProxyDataBuilder.cs
- ValidationSummary.cs
- BaseParagraph.cs
- EditorPart.cs
- DecimalConstantAttribute.cs
- SendKeys.cs
- HostExecutionContextManager.cs
- PageRanges.cs
- SmtpReplyReader.cs
- FrameworkContentElement.cs
- UnsafeNativeMethods.cs
- InvalidContentTypeException.cs
- WebPartActionVerb.cs
- HotCommands.cs
- MsmqBindingBase.cs
- ResourceReader.cs
- ReflectPropertyDescriptor.cs
- CompilerGlobalScopeAttribute.cs
- ProviderCollection.cs
- DataSourceCacheDurationConverter.cs
- OperandQuery.cs
- XmlSchemaSimpleContentRestriction.cs
- _BaseOverlappedAsyncResult.cs
- WebEvents.cs
- XsltArgumentList.cs
- HtmlInputHidden.cs
- QueryBranchOp.cs
- Control.cs
- ResourcePool.cs
- LoginNameDesigner.cs
- UInt64.cs
- TogglePatternIdentifiers.cs
- FusionWrap.cs
- TextBox.cs
- DrawingContextWalker.cs
- ChtmlFormAdapter.cs
- PlanCompiler.cs
- CompilerLocalReference.cs
- _Win32.cs
- ContentValidator.cs
- ToolStripPanelCell.cs
- MarshalByRefObject.cs
- SqlVisitor.cs
- Screen.cs
- BitSet.cs
- DocumentViewerConstants.cs
- AnnotationComponentManager.cs
- RtfControlWordInfo.cs
- CacheSection.cs
- WebBodyFormatMessageProperty.cs
- Psha1DerivedKeyGenerator.cs
- SymmetricKeyWrap.cs
- MailMessageEventArgs.cs
- ScaleTransform.cs
- UnsafeNativeMethods.cs
- MediaElement.cs
- StringFunctions.cs
- SchemaCreator.cs
- CallId.cs
- MemoryFailPoint.cs
- IProvider.cs