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
- FixedHighlight.cs
- QueueAccessMode.cs
- PointConverter.cs
- StreamUpdate.cs
- BroadcastEventHelper.cs
- GridViewColumnHeaderAutomationPeer.cs
- PaginationProgressEventArgs.cs
- DesignerMetadata.cs
- MtomMessageEncodingElement.cs
- CharacterBufferReference.cs
- TypeTypeConverter.cs
- PreloadedPackages.cs
- DataBindingCollection.cs
- HttpWebResponse.cs
- XmlEntity.cs
- TranslateTransform.cs
- ModuleConfigurationInfo.cs
- RelatedImageListAttribute.cs
- ToolboxBitmapAttribute.cs
- SQLInt32Storage.cs
- HandleCollector.cs
- DataReceivedEventArgs.cs
- PrintDialog.cs
- SystemColorTracker.cs
- BrowserCapabilitiesCodeGenerator.cs
- XmlHierarchicalDataSourceView.cs
- EmptyElement.cs
- OpacityConverter.cs
- PropertyGridView.cs
- COM2ColorConverter.cs
- ListParagraph.cs
- HttpRequest.cs
- WpfKnownMemberInvoker.cs
- TrackingLocationCollection.cs
- RunClient.cs
- TrackPoint.cs
- DecoderFallback.cs
- SchemaInfo.cs
- Label.cs
- ZipIOLocalFileDataDescriptor.cs
- SignedXmlDebugLog.cs
- SamlAuthenticationClaimResource.cs
- XsltLoader.cs
- NumericExpr.cs
- ClientSettings.cs
- Cell.cs
- TransformProviderWrapper.cs
- TableLayoutPanelCellPosition.cs
- TypedTableBaseExtensions.cs
- DbDataSourceEnumerator.cs
- TitleStyle.cs
- DataTemplateSelector.cs
- CodeExpressionCollection.cs
- XamlTypeMapper.cs
- RegexInterpreter.cs
- OdbcCommandBuilder.cs
- MetafileHeader.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- CheckBoxBaseAdapter.cs
- SettingsPropertyNotFoundException.cs
- DbParameterHelper.cs
- ActiveXHost.cs
- ToolStripPanelCell.cs
- SiteOfOriginContainer.cs
- TrackingParameters.cs
- XmlSchemaAny.cs
- UserControlDocumentDesigner.cs
- ResourceWriter.cs
- CriticalFinalizerObject.cs
- MetafileHeaderWmf.cs
- SapiInterop.cs
- WsdlServiceChannelBuilder.cs
- AuthorizationRuleCollection.cs
- SignatureGenerator.cs
- AuthorizationPolicyTypeElementCollection.cs
- LambdaReference.cs
- PathFigureCollectionConverter.cs
- ToolStripContentPanelDesigner.cs
- Stackframe.cs
- DesignerLinkAdapter.cs
- Thread.cs
- OleDbPermission.cs
- DPCustomTypeDescriptor.cs
- InputScopeConverter.cs
- TCPClient.cs
- RegexTree.cs
- ResolveCriteriaCD1.cs
- RelOps.cs
- CultureTable.cs
- TypeUtil.cs
- WmpBitmapDecoder.cs
- VisualStyleElement.cs
- WeakEventManager.cs
- HGlobalSafeHandle.cs
- dbenumerator.cs
- PersonalizationState.cs
- FormViewUpdateEventArgs.cs
- DBSqlParserTable.cs
- TextInfo.cs
- MasterPageBuildProvider.cs