Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / MessageVersionConverter.cs / 1 / MessageVersionConverter.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel.Channels; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.ServiceModel; using System.Globalization; class MessageVersionConverter : TypeConverter { public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (typeof(string) == sourceType) { return true; } return base.CanConvertFrom(context, sourceType); } public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (typeof(InstanceDescriptor) == destinationType) { return true; } return base.CanConvertTo(context, destinationType); } public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value is string) { string messageVersion = (string)value; MessageVersion retval = null; switch (messageVersion) { case ConfigurationStrings.Soap11WSAddressing10: retval = MessageVersion.Soap11WSAddressing10; break; case ConfigurationStrings.Soap12WSAddressing10: retval = MessageVersion.Soap12WSAddressing10; break; case ConfigurationStrings.Soap11WSAddressingAugust2004: retval = MessageVersion.Soap11WSAddressingAugust2004; break; case ConfigurationStrings.Soap12WSAddressingAugust2004: retval = MessageVersion.Soap12WSAddressingAugust2004; break; case ConfigurationStrings.Soap11: retval = MessageVersion.Soap11; break; case ConfigurationStrings.Soap12: retval = MessageVersion.Soap12; break; case ConfigurationStrings.None: retval = MessageVersion.None; break; case ConfigurationStrings.Default: retval = MessageVersion.Default; break; default: throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", SR.GetString(SR.ConfigInvalidClassFactoryValue, messageVersion, typeof(MessageVersion).FullName))); } return retval; } return base.ConvertFrom(context, culture, value); } public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (typeof(string) == destinationType && value is MessageVersion) { string retval = null; MessageVersion messageVersion = (MessageVersion)value; if (messageVersion == MessageVersion.Default) { retval = ConfigurationStrings.Default; } else if (messageVersion == MessageVersion.Soap11WSAddressing10) { retval = ConfigurationStrings.Soap11WSAddressing10; } else if (messageVersion == MessageVersion.Soap12WSAddressing10) { retval = ConfigurationStrings.Soap12WSAddressing10; } else if (messageVersion == MessageVersion.Soap11WSAddressingAugust2004) { retval = ConfigurationStrings.Soap11WSAddressingAugust2004; } else if (messageVersion == MessageVersion.Soap12WSAddressingAugust2004) { retval = ConfigurationStrings.Soap12WSAddressingAugust2004; } else if (messageVersion == MessageVersion.Soap11) { retval = ConfigurationStrings.Soap11; } else if (messageVersion == MessageVersion.Soap12) { retval = ConfigurationStrings.Soap12; } else if (messageVersion == MessageVersion.None) { retval = ConfigurationStrings.None; } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", SR.GetString(SR.ConfigInvalidClassInstanceValue, typeof(MessageVersion).FullName))); } return retval; } return base.ConvertTo(context, culture, value, destinationType); } } } // 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
- DoubleLinkListEnumerator.cs
- WindowsTab.cs
- CssClassPropertyAttribute.cs
- ToolStripSeparatorRenderEventArgs.cs
- ItemTypeToolStripMenuItem.cs
- XmlRootAttribute.cs
- Menu.cs
- ErrorRuntimeConfig.cs
- AggregateException.cs
- CompilerGlobalScopeAttribute.cs
- Pkcs7Recipient.cs
- ValidationSummary.cs
- UnconditionalPolicy.cs
- BaseDataListActionList.cs
- ExceptionRoutedEventArgs.cs
- HtmlControlPersistable.cs
- BaseParser.cs
- SpellerError.cs
- IPAddress.cs
- HostedElements.cs
- EmbossBitmapEffect.cs
- KeyedHashAlgorithm.cs
- Triangle.cs
- EntityContainer.cs
- Point3DCollection.cs
- ObjRef.cs
- FontStyle.cs
- SliderAutomationPeer.cs
- AutomationEvent.cs
- HitTestResult.cs
- Transform3D.cs
- MexNamedPipeBindingCollectionElement.cs
- isolationinterop.cs
- SecurityTokenAttachmentMode.cs
- HashMembershipCondition.cs
- ImageAttributes.cs
- PriorityBindingExpression.cs
- WarningException.cs
- Identity.cs
- CheckBoxPopupAdapter.cs
- Column.cs
- SystemUnicastIPAddressInformation.cs
- QuaternionAnimation.cs
- TextSelectionHelper.cs
- FixedSOMElement.cs
- PolicyManager.cs
- basenumberconverter.cs
- QueryExpr.cs
- OperationPerformanceCounters.cs
- ObservableCollection.cs
- SqlServer2KCompatibilityAnnotation.cs
- URLIdentityPermission.cs
- SmiSettersStream.cs
- StateMachineWorkflowDesigner.cs
- PersonalizablePropertyEntry.cs
- ManualResetEvent.cs
- SharedRuntimeState.cs
- GridViewItemAutomationPeer.cs
- TypeTypeConverter.cs
- TextTabProperties.cs
- PersistenceProviderBehavior.cs
- ListViewInsertEventArgs.cs
- MouseOverProperty.cs
- TimerElapsedEvenArgs.cs
- UpdateRecord.cs
- StateValidator.cs
- RegistryPermission.cs
- RtfToXamlReader.cs
- OperatingSystemVersionCheck.cs
- CaseCqlBlock.cs
- BamlRecords.cs
- DependencyPropertyAttribute.cs
- HttpResponseHeader.cs
- FrameworkName.cs
- IntSecurity.cs
- TableLayoutPanelDesigner.cs
- oledbmetadatacollectionnames.cs
- SQlBooleanStorage.cs
- XmlDocumentType.cs
- SystemWebSectionGroup.cs
- WebConfigManager.cs
- SqlInternalConnection.cs
- Matrix.cs
- ValidationErrorInfo.cs
- TextStore.cs
- ConfigXmlCDataSection.cs
- SrgsItemList.cs
- FileLogRecord.cs
- RegionData.cs
- TextSelectionHelper.cs
- RangeContentEnumerator.cs
- elementinformation.cs
- ICspAsymmetricAlgorithm.cs
- CodeFieldReferenceExpression.cs
- DataRowComparer.cs
- _ProxyChain.cs
- WindowsRebar.cs
- ServiceControllerDesigner.cs
- Repeater.cs
- SubstitutionResponseElement.cs