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
- MultilineStringConverter.cs
- PeerNameRecordCollection.cs
- ContainerActivationHelper.cs
- SafeProcessHandle.cs
- StrongNameUtility.cs
- RequiredAttributeAttribute.cs
- MembershipPasswordException.cs
- HtmlSelect.cs
- SafePEFileHandle.cs
- PropertyEmitterBase.cs
- TextEvent.cs
- ColorContextHelper.cs
- EntityStoreSchemaGenerator.cs
- MultiBindingExpression.cs
- AttributeUsageAttribute.cs
- ApplicationFileCodeDomTreeGenerator.cs
- MappingSource.cs
- ConsoleEntryPoint.cs
- HotCommands.cs
- DBConcurrencyException.cs
- MessageQueueKey.cs
- FileSystemInfo.cs
- TimeoutException.cs
- NameValuePermission.cs
- MetadataUtilsSmi.cs
- SmiContext.cs
- PageAsyncTask.cs
- WeakHashtable.cs
- Freezable.cs
- Int32Storage.cs
- MimeTypePropertyAttribute.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- XPathArrayIterator.cs
- ImageMap.cs
- WebResponse.cs
- WebPartConnectionsCloseVerb.cs
- OracleInternalConnection.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- HttpModuleCollection.cs
- Options.cs
- ParameterSubsegment.cs
- LogicalExpr.cs
- OdbcFactory.cs
- TypeUnloadedException.cs
- IndentTextWriter.cs
- ConfigurationException.cs
- Vector3DIndependentAnimationStorage.cs
- PartialArray.cs
- ConfigurationException.cs
- ColumnMap.cs
- HtmlGenericControl.cs
- ZipIOLocalFileHeader.cs
- EventLogRecord.cs
- CalloutQueueItem.cs
- PermissionListSet.cs
- MimeWriter.cs
- Zone.cs
- CodeAttributeDeclaration.cs
- ContractReference.cs
- ExecutionTracker.cs
- Helpers.cs
- FrameworkElementAutomationPeer.cs
- CachedPathData.cs
- RTLAwareMessageBox.cs
- SrgsElementList.cs
- BlurBitmapEffect.cs
- StringTraceRecord.cs
- Rule.cs
- Byte.cs
- SQLGuid.cs
- Route.cs
- RadioButton.cs
- TextPattern.cs
- NumberFormatInfo.cs
- DiagnosticsElement.cs
- MemberRestriction.cs
- MouseCaptureWithinProperty.cs
- ISessionStateStore.cs
- ReadOnlyDictionary.cs
- DataTrigger.cs
- CodeTypeReferenceSerializer.cs
- CookieParameter.cs
- HttpCookiesSection.cs
- entitydatasourceentitysetnameconverter.cs
- ButtonPopupAdapter.cs
- DataGridViewSortCompareEventArgs.cs
- DataGridViewCellLinkedList.cs
- cache.cs
- WorkerRequest.cs
- ConstantExpression.cs
- MgmtConfigurationRecord.cs
- SkinBuilder.cs
- RoleManagerModule.cs
- RequiredFieldValidator.cs
- SQLRoleProvider.cs
- Compiler.cs
- QueryableDataSourceView.cs
- AuthenticatingEventArgs.cs
- WMIGenerator.cs
- SqlXml.cs