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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DispatcherHookEventArgs.cs
- HitTestDrawingContextWalker.cs
- DataServiceRequestOfT.cs
- WebServiceErrorEvent.cs
- Tile.cs
- BamlLocalizableResource.cs
- XamlTemplateSerializer.cs
- FeatureAttribute.cs
- GlyphsSerializer.cs
- mediapermission.cs
- ListBoxItemAutomationPeer.cs
- ListenerSingletonConnectionReader.cs
- Panel.cs
- CalendarAutoFormat.cs
- DbCommandTree.cs
- ListView.cs
- Material.cs
- EntityChangedParams.cs
- LocationChangedEventArgs.cs
- LineVisual.cs
- EntityDataSourceValidationException.cs
- FontStretchConverter.cs
- Rectangle.cs
- ServiceBusyException.cs
- IdentityManager.cs
- TypeDescriptionProviderAttribute.cs
- CodeTypeDeclaration.cs
- SafeNativeMethods.cs
- Range.cs
- PackWebRequestFactory.cs
- TypeSystem.cs
- HostProtectionPermission.cs
- LifetimeServices.cs
- errorpatternmatcher.cs
- CodeComment.cs
- RadioButtonAutomationPeer.cs
- TableCellsCollectionEditor.cs
- GridViewRow.cs
- FieldDescriptor.cs
- SqlDataSourceCommandEventArgs.cs
- MarkupWriter.cs
- IndexedString.cs
- ExpressionList.cs
- Timer.cs
- PolicyLevel.cs
- TextRunProperties.cs
- ObjectDataProvider.cs
- CssTextWriter.cs
- VarInfo.cs
- SBCSCodePageEncoding.cs
- SecurityKeyType.cs
- XmlSchemaDocumentation.cs
- DataGridViewRowCancelEventArgs.cs
- BuildResultCache.cs
- WindowsListBox.cs
- PersonalizationProvider.cs
- ResourcePool.cs
- ReturnValue.cs
- TabControl.cs
- Nullable.cs
- UpdateCommand.cs
- TreeNodeStyleCollection.cs
- DynamicMetaObject.cs
- FileLogRecordStream.cs
- MembershipValidatePasswordEventArgs.cs
- DummyDataSource.cs
- StringUtil.cs
- VBIdentifierName.cs
- FormViewUpdatedEventArgs.cs
- EditorZoneDesigner.cs
- ScriptingProfileServiceSection.cs
- EmbeddedObject.cs
- RepeaterItem.cs
- DependencyPropertyChangedEventArgs.cs
- ProfilePropertyNameValidator.cs
- PopOutPanel.cs
- MsmqIntegrationOutputChannel.cs
- NameObjectCollectionBase.cs
- EncryptedType.cs
- Duration.cs
- ContractTypeNameCollection.cs
- TimeEnumHelper.cs
- ExtensibleClassFactory.cs
- SecurityBindingElement.cs
- DataGridViewDataConnection.cs
- DesignTimeVisibleAttribute.cs
- StringCollectionMarkupSerializer.cs
- OleDbConnectionFactory.cs
- SiteMapNodeItem.cs
- ScriptRegistrationManager.cs
- SymbolPair.cs
- AxHostDesigner.cs
- CannotUnloadAppDomainException.cs
- IPHostEntry.cs
- SQLByte.cs
- UnsafeNativeMethods.cs
- EtwTrace.cs
- PageStatePersister.cs
- WebException.cs
- CodeAccessSecurityEngine.cs