Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Description / MimeXmlReflector.cs / 1305376 / MimeXmlReflector.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Description { using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Serialization; using System.Xml.Schema; using System.Collections; using System; using System.Reflection; using System.Xml; internal class MimeXmlReflector : MimeReflector { internal override bool ReflectParameters() { return false; } internal override bool ReflectReturn() { MessagePart part = new MessagePart(); part.Name = "Body"; ReflectionContext.OutputMessage.Parts.Add(part); if (typeof(XmlNode).IsAssignableFrom(ReflectionContext.Method.ReturnType)) { MimeContentBinding mimeContentBinding = new MimeContentBinding(); mimeContentBinding.Type = "text/xml"; mimeContentBinding.Part = part.Name; ReflectionContext.OperationBinding.Output.Extensions.Add(mimeContentBinding); } else { MimeXmlBinding mimeXmlBinding = new MimeXmlBinding(); mimeXmlBinding.Part = part.Name; LogicalMethodInfo methodInfo = ReflectionContext.Method; XmlAttributes a = new XmlAttributes(methodInfo.ReturnTypeCustomAttributeProvider); XmlTypeMapping xmlTypeMapping = ReflectionContext.ReflectionImporter.ImportTypeMapping(methodInfo.ReturnType, a.XmlRoot); xmlTypeMapping.SetKey(methodInfo.GetKey() + ":Return"); ReflectionContext.SchemaExporter.ExportTypeMapping(xmlTypeMapping); part.Element = new XmlQualifiedName(xmlTypeMapping.XsdElementName, xmlTypeMapping.Namespace); ReflectionContext.OperationBinding.Output.Extensions.Add(mimeXmlBinding); } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Description { using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Serialization; using System.Xml.Schema; using System.Collections; using System; using System.Reflection; using System.Xml; internal class MimeXmlReflector : MimeReflector { internal override bool ReflectParameters() { return false; } internal override bool ReflectReturn() { MessagePart part = new MessagePart(); part.Name = "Body"; ReflectionContext.OutputMessage.Parts.Add(part); if (typeof(XmlNode).IsAssignableFrom(ReflectionContext.Method.ReturnType)) { MimeContentBinding mimeContentBinding = new MimeContentBinding(); mimeContentBinding.Type = "text/xml"; mimeContentBinding.Part = part.Name; ReflectionContext.OperationBinding.Output.Extensions.Add(mimeContentBinding); } else { MimeXmlBinding mimeXmlBinding = new MimeXmlBinding(); mimeXmlBinding.Part = part.Name; LogicalMethodInfo methodInfo = ReflectionContext.Method; XmlAttributes a = new XmlAttributes(methodInfo.ReturnTypeCustomAttributeProvider); XmlTypeMapping xmlTypeMapping = ReflectionContext.ReflectionImporter.ImportTypeMapping(methodInfo.ReturnType, a.XmlRoot); xmlTypeMapping.SetKey(methodInfo.GetKey() + ":Return"); ReflectionContext.SchemaExporter.ExportTypeMapping(xmlTypeMapping); part.Element = new XmlQualifiedName(xmlTypeMapping.XsdElementName, xmlTypeMapping.Namespace); ReflectionContext.OperationBinding.Output.Extensions.Add(mimeXmlBinding); } return true; } } } // 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
- GridItemPattern.cs
- HitTestWithPointDrawingContextWalker.cs
- ThreadStaticAttribute.cs
- RotationValidation.cs
- TextSyndicationContentKindHelper.cs
- RegexCompiler.cs
- DataObject.cs
- CodeIdentifiers.cs
- RegexMatchCollection.cs
- DoubleLinkList.cs
- CodeExpressionRuleDeclaration.cs
- StickyNote.cs
- SimpleRecyclingCache.cs
- SecureEnvironment.cs
- BatchWriter.cs
- CustomAttributeSerializer.cs
- Symbol.cs
- RegistryDataKey.cs
- SctClaimSerializer.cs
- CurrentChangingEventArgs.cs
- EdmConstants.cs
- TextEndOfSegment.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- AssemblyBuilderData.cs
- UnsafeMethods.cs
- NetworkInterface.cs
- MenuItemCollectionEditor.cs
- PeerCollaborationPermission.cs
- OutputScope.cs
- DrawListViewItemEventArgs.cs
- CreateRefExpr.cs
- baseshape.cs
- Compilation.cs
- MarginsConverter.cs
- MetadataCacheItem.cs
- ToolTip.cs
- PrintEvent.cs
- ReferenceEqualityComparer.cs
- TemplateNameScope.cs
- SpeechRecognitionEngine.cs
- MenuCommand.cs
- RuntimeCompatibilityAttribute.cs
- XmlComplianceUtil.cs
- ListViewUpdateEventArgs.cs
- ReversePositionQuery.cs
- TextParagraphProperties.cs
- UpdateProgress.cs
- SerializationIncompleteException.cs
- PolicyManager.cs
- SqlCharStream.cs
- DiscoveryClientProtocol.cs
- HtmlToClrEventProxy.cs
- TextOnlyOutput.cs
- TextEffectResolver.cs
- ToolBar.cs
- VisualTreeHelper.cs
- TheQuery.cs
- DropTarget.cs
- SystemIPInterfaceStatistics.cs
- SQLMoneyStorage.cs
- PointCollection.cs
- CardSpaceSelector.cs
- GridViewRowEventArgs.cs
- ProfileService.cs
- DataGridViewRowPostPaintEventArgs.cs
- MemoryFailPoint.cs
- AnimatedTypeHelpers.cs
- FieldToken.cs
- HashAlgorithm.cs
- Header.cs
- ResourcePermissionBaseEntry.cs
- GridItemCollection.cs
- ArraySubsetEnumerator.cs
- SafeEventLogWriteHandle.cs
- DbProviderServices.cs
- HitTestWithGeometryDrawingContextWalker.cs
- WebBrowserSiteBase.cs
- EntityKey.cs
- ByteConverter.cs
- StylusPointPropertyId.cs
- TypeConverterHelper.cs
- SqlDataSourceEnumerator.cs
- Query.cs
- WindowManager.cs
- XmlFormatExtensionAttribute.cs
- DataBinder.cs
- XmlNodeChangedEventManager.cs
- CodeTypeReference.cs
- EndOfStreamException.cs
- XmlLoader.cs
- EventLogEntry.cs
- EntityDataSourceColumn.cs
- DeviceContexts.cs
- MdiWindowListStrip.cs
- DataListCommandEventArgs.cs
- Brushes.cs
- EncoderFallback.cs
- SessionChannels.cs
- RectangleConverter.cs
- AlignmentXValidation.cs