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
- StringUtil.cs
- SystemResourceHost.cs
- VirtualDirectoryMapping.cs
- CachedCompositeFamily.cs
- ToolStripDropDownClosedEventArgs.cs
- CreateUserErrorEventArgs.cs
- RegionInfo.cs
- OdbcConnectionOpen.cs
- RepeaterItemEventArgs.cs
- WsdlInspector.cs
- PngBitmapDecoder.cs
- TrayIconDesigner.cs
- DataServicePagingProviderWrapper.cs
- DataSourceView.cs
- TextEditorSelection.cs
- NameObjectCollectionBase.cs
- ToolStripDesigner.cs
- TextRangeEdit.cs
- BindingExpressionBase.cs
- CommandPlan.cs
- ConnectionStringsExpressionBuilder.cs
- GridToolTip.cs
- BamlRecords.cs
- PinnedBufferMemoryStream.cs
- Axis.cs
- GPPOINTF.cs
- DocumentStream.cs
- DSASignatureDeformatter.cs
- CircleHotSpot.cs
- DesignerDataSourceView.cs
- StrongBox.cs
- Accessible.cs
- SecureUICommand.cs
- ConstraintEnumerator.cs
- Dictionary.cs
- PrimitiveType.cs
- BidirectionalDictionary.cs
- ProjectionNode.cs
- BuildManager.cs
- XpsS0ValidatingLoader.cs
- DoubleConverter.cs
- ImageBrush.cs
- TemplateApplicationHelper.cs
- CookielessData.cs
- DocumentSignatureManager.cs
- StackOverflowException.cs
- TextTreeObjectNode.cs
- FontNameEditor.cs
- InvalidPrinterException.cs
- ArrayElementGridEntry.cs
- TabletCollection.cs
- IndicFontClient.cs
- MatrixTransform.cs
- BindUriHelper.cs
- WindowsProgressbar.cs
- AdRotator.cs
- UriTemplateVariableQueryValue.cs
- WebServiceEnumData.cs
- AssemblyName.cs
- CharAnimationUsingKeyFrames.cs
- RootDesignerSerializerAttribute.cs
- OneOf.cs
- _DisconnectOverlappedAsyncResult.cs
- OleDbMetaDataFactory.cs
- SqlCacheDependency.cs
- X500Name.cs
- CodeExporter.cs
- PrimitiveSchema.cs
- EntityContainerRelationshipSet.cs
- BrowserCapabilitiesCodeGenerator.cs
- XmlSubtreeReader.cs
- InvokeGenerator.cs
- XMLUtil.cs
- SizeKeyFrameCollection.cs
- DebugController.cs
- SpeechSynthesizer.cs
- InvokeWebServiceDesigner.cs
- TypeResolver.cs
- CalendarAutomationPeer.cs
- EpmAttributeNameBuilder.cs
- ValueUtilsSmi.cs
- DataGridTablesFactory.cs
- MessagingDescriptionAttribute.cs
- IssuedTokenClientCredential.cs
- FieldBuilder.cs
- PerformanceCounterLib.cs
- SymbolType.cs
- MarkupCompilePass2.cs
- GlyphRunDrawing.cs
- MailDefinition.cs
- RewritingProcessor.cs
- DbConnectionClosed.cs
- NamedObject.cs
- DbTransaction.cs
- Win32.cs
- ByteAnimationBase.cs
- PolicyStatement.cs
- PageThemeCodeDomTreeGenerator.cs
- BitmapPalettes.cs
- Int64Storage.cs