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
- TypeCollectionPropertyEditor.cs
- Zone.cs
- MDIControlStrip.cs
- ValuePattern.cs
- FlowDocumentReader.cs
- HtmlShimManager.cs
- DataGridViewCheckBoxCell.cs
- BaseCollection.cs
- CodeExpressionCollection.cs
- AssemblyAssociatedContentFileAttribute.cs
- CellIdBoolean.cs
- UnicodeEncoding.cs
- panel.cs
- HtmlTable.cs
- XmlExceptionHelper.cs
- PLINQETWProvider.cs
- AccessDataSourceView.cs
- CrossSiteScriptingValidation.cs
- DBPropSet.cs
- BooleanExpr.cs
- CodeAttachEventStatement.cs
- AutoResetEvent.cs
- AutoScrollHelper.cs
- ContractHandle.cs
- BitmapMetadataEnumerator.cs
- FormClosedEvent.cs
- NegatedConstant.cs
- DirectionalLight.cs
- ResourceAttributes.cs
- MessageQueueAccessControlEntry.cs
- ExtenderProvidedPropertyAttribute.cs
- DoubleCollectionConverter.cs
- METAHEADER.cs
- MimeBasePart.cs
- StorageAssociationTypeMapping.cs
- OLEDB_Util.cs
- OpenFileDialog.cs
- Condition.cs
- PartialList.cs
- XmlJsonReader.cs
- ChannelServices.cs
- WSHttpSecurityElement.cs
- AdCreatedEventArgs.cs
- unsafeIndexingFilterStream.cs
- ClaimSet.cs
- VisualBasicReference.cs
- LineVisual.cs
- FaultPropagationQuery.cs
- Vertex.cs
- SQLInt32Storage.cs
- IndexedString.cs
- TransformationRules.cs
- AppSettingsExpressionBuilder.cs
- ApplicationBuildProvider.cs
- ValueTypeIndexerReference.cs
- ActiveXContainer.cs
- DrawingCollection.cs
- MissingSatelliteAssemblyException.cs
- AssociationTypeEmitter.cs
- _SafeNetHandles.cs
- Solver.cs
- HMACMD5.cs
- GridViewAutomationPeer.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- RegexGroup.cs
- NotifyIcon.cs
- ProviderConnectionPoint.cs
- Tag.cs
- MultipleViewProviderWrapper.cs
- SoapRpcMethodAttribute.cs
- MobileUserControl.cs
- Light.cs
- UrlRoutingModule.cs
- ValidationHelper.cs
- BufferedResponseStream.cs
- XmlnsCache.cs
- ClientProxyGenerator.cs
- ItemsControlAutomationPeer.cs
- SslSecurityTokenParameters.cs
- Pair.cs
- CollectionBase.cs
- TypedTableBaseExtensions.cs
- MetadataItemEmitter.cs
- Translator.cs
- _FixedSizeReader.cs
- UriScheme.cs
- DocumentReference.cs
- BinaryParser.cs
- OdbcParameter.cs
- XmlSchemaException.cs
- IInstanceTable.cs
- Operator.cs
- HitTestResult.cs
- ScaleTransform.cs
- SystemSounds.cs
- XmlMessageFormatter.cs
- UnsafeNativeMethodsPenimc.cs
- ExtenderHelpers.cs
- sqlcontext.cs
- TcpChannelHelper.cs