Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Description / DataContractSerializerMessageContractImporter.cs / 1 / DataContractSerializerMessageContractImporter.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Description
{
using System;
using System.ServiceModel.Channels;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Schema;
using System.CodeDom;
using WsdlNS = System.Web.Services.Description;
using System.Xml.Serialization;
public class DataContractSerializerMessageContractImporter : IWsdlImportExtension
{
bool enabled = true;
const string GenericMessageSchemaTypeName = "MessageBody";
const string GenericMessageSchemaTypeNamespace = "http://schemas.microsoft.com/Message";
const string StreamBodySchemaTypeName = "StreamBody";
const string StreamBodySchemaTypeNamespace = GenericMessageSchemaTypeNamespace;
static internal XmlQualifiedName GenericMessageTypeName = new XmlQualifiedName(GenericMessageSchemaTypeName, GenericMessageSchemaTypeNamespace);
static internal XmlQualifiedName StreamBodyTypeName = new XmlQualifiedName(StreamBodySchemaTypeName, StreamBodySchemaTypeNamespace);
void IWsdlImportExtension.ImportEndpoint(WsdlImporter importer, WsdlEndpointConversionContext endpointContext)
{
if (endpointContext == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("endpointContext"));
if(enabled)
MessageContractImporter.ImportMessageBinding(importer, endpointContext, typeof(MessageContractImporter.DataContractSerializerSchemaImporter));
}
void IWsdlImportExtension.ImportContract(WsdlImporter importer, WsdlContractConversionContext contractContext)
{
if (contractContext == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("contractContext"));
if (enabled)
MessageContractImporter.ImportMessageContract(importer, contractContext, MessageContractImporter.DataContractSerializerSchemaImporter.Get(importer));
}
void IWsdlImportExtension.BeforeImport(WsdlNS.ServiceDescriptionCollection wsdlDocuments, XmlSchemaSet xmlSchemas, ICollection policy) { }
public bool Enabled
{
get { return this.enabled; }
set { this.enabled = value; }
}
}
public class XmlSerializerMessageContractImporter : IWsdlImportExtension
{
void IWsdlImportExtension.ImportEndpoint(WsdlImporter importer, WsdlEndpointConversionContext endpointContext)
{
if (endpointContext == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("endpointContext"));
MessageContractImporter.ImportMessageBinding(importer, endpointContext, typeof(MessageContractImporter.XmlSerializerSchemaImporter));
}
void IWsdlImportExtension.ImportContract(WsdlImporter importer, WsdlContractConversionContext contractContext)
{
if (contractContext == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("contractContext"));
MessageContractImporter.ImportMessageContract(importer, contractContext, MessageContractImporter.XmlSerializerSchemaImporter.Get(importer));
}
void IWsdlImportExtension.BeforeImport(WsdlNS.ServiceDescriptionCollection wsdlDocuments, XmlSchemaSet xmlSchemas, ICollection policy) { }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- sqlinternaltransaction.cs
- MessagePropertyFilter.cs
- SafeRightsManagementQueryHandle.cs
- WebPartRestoreVerb.cs
- UxThemeWrapper.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- CommandExpr.cs
- XmlSchemas.cs
- Hash.cs
- BroadcastEventHelper.cs
- CapabilitiesState.cs
- _OSSOCK.cs
- InputLanguageEventArgs.cs
- CorrelationHandle.cs
- ErrorHandler.cs
- Overlapped.cs
- EncodingInfo.cs
- RemotingConfigParser.cs
- QuotedPairReader.cs
- IdentityHolder.cs
- ListItem.cs
- NamespaceList.cs
- CompiledAction.cs
- ContentControl.cs
- InvalidWMPVersionException.cs
- BuildManagerHost.cs
- OpacityConverter.cs
- GeometryGroup.cs
- IgnoreDeviceFilterElement.cs
- ToolStripSplitStackLayout.cs
- Calendar.cs
- UserPersonalizationStateInfo.cs
- ProvidersHelper.cs
- SessionStateContainer.cs
- StyleTypedPropertyAttribute.cs
- TokenBasedSetEnumerator.cs
- XmlSchemaGroupRef.cs
- DataSourceGroupCollection.cs
- MissingManifestResourceException.cs
- ValidationEventArgs.cs
- _DomainName.cs
- ExtenderProvidedPropertyAttribute.cs
- ChangeDirector.cs
- CannotUnloadAppDomainException.cs
- WebContext.cs
- FontSizeConverter.cs
- LinearGradientBrush.cs
- SmtpReplyReader.cs
- Helper.cs
- Model3DGroup.cs
- InstalledVoice.cs
- RemoteWebConfigurationHostStream.cs
- ContextMenuAutomationPeer.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- CodePropertyReferenceExpression.cs
- XmlILTrace.cs
- Parser.cs
- RequestCacheEntry.cs
- SqlProfileProvider.cs
- TransformPattern.cs
- SqlMetaData.cs
- ViewStateException.cs
- SqlStatistics.cs
- FunctionMappingTranslator.cs
- SchemaDeclBase.cs
- TransformerInfoCollection.cs
- NativeMethods.cs
- Bitmap.cs
- DecimalKeyFrameCollection.cs
- LinkedDataMemberFieldEditor.cs
- RegexCharClass.cs
- XamlSerializationHelper.cs
- ScrollChangedEventArgs.cs
- AmbiguousMatchException.cs
- Converter.cs
- ConfigXmlWhitespace.cs
- NegationPusher.cs
- ObjectConverter.cs
- Accessible.cs
- GrammarBuilderWildcard.cs
- WindowsGraphics2.cs
- XmlObjectSerializerContext.cs
- SettingsPropertyValueCollection.cs
- DefaultAsyncDataDispatcher.cs
- CompareInfo.cs
- CodeTypeParameter.cs
- QuadraticEase.cs
- ManifestResourceInfo.cs
- MimeTypePropertyAttribute.cs
- ErrorTableItemStyle.cs
- MemberPathMap.cs
- DataGridCellInfo.cs
- SQLRoleProvider.cs
- ScrollChangedEventArgs.cs
- PeerCredentialElement.cs
- DataPagerFieldCollection.cs
- FloaterBaseParaClient.cs
- EventListenerClientSide.cs
- SystemGatewayIPAddressInformation.cs
- JsonQNameDataContract.cs