Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Dispatcher / DemultiplexingClientMessageFormatter.cs / 1 / DemultiplexingClientMessageFormatter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.Collections.Generic; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.Globalization; class DemultiplexingClientMessageFormatter : IClientMessageFormatter { IClientMessageFormatter defaultFormatter; Dictionaryformatters; string supportedFormats; public DemultiplexingClientMessageFormatter(IDictionary formatters, IClientMessageFormatter defaultFormatter) { if (formatters == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("formatters"); } this.formatters = new Dictionary (); foreach (WebContentFormat key in formatters.Keys) { this.formatters.Add(key, formatters[key]); } this.defaultFormatter = defaultFormatter; } public object DeserializeReply(Message message, object[] parameters) { if (message == null) { return null; } WebContentFormat format; IClientMessageFormatter selectedFormatter; if (DemultiplexingDispatchMessageFormatter.TryGetEncodingFormat(message, out format)) { this.formatters.TryGetValue(format, out selectedFormatter); if (selectedFormatter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperWarning(new InvalidOperationException(SR2.GetString(SR2.UnrecognizedHttpMessageFormat, format, GetSupportedFormats()))); } } else { selectedFormatter = this.defaultFormatter; if (selectedFormatter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperWarning(new InvalidOperationException(SR2.GetString(SR2.MessageFormatPropertyNotFound3))); } } return selectedFormatter.DeserializeReply(message, parameters); } public Message SerializeRequest(MessageVersion messageVersion, object[] parameters) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR2.GetString(SR2.SerializingRequestNotSupportedByFormatter, this))); } string GetSupportedFormats() { if (this.supportedFormats == null) { this.supportedFormats = DemultiplexingDispatchMessageFormatter.GetSupportedFormats(this.formatters.Keys); } return this.supportedFormats; } } } // 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
- XmlSchemaInclude.cs
- Serializer.cs
- DataViewListener.cs
- FunctionDescription.cs
- HtmlEncodedRawTextWriter.cs
- recordstatefactory.cs
- DataBoundLiteralControl.cs
- DataPagerFieldCommandEventArgs.cs
- ScriptServiceAttribute.cs
- AsyncCompletedEventArgs.cs
- ContextStack.cs
- CodeCommentStatementCollection.cs
- XmlIgnoreAttribute.cs
- ColumnMapCopier.cs
- RunClient.cs
- XslException.cs
- GlyphInfoList.cs
- RefType.cs
- ProfileGroupSettings.cs
- SerializationInfo.cs
- ADMembershipUser.cs
- XmlSchemaInferenceException.cs
- SystemBrushes.cs
- MappedMetaModel.cs
- ChannelListenerBase.cs
- ColorEditor.cs
- EventLogPermission.cs
- QuaternionAnimation.cs
- UntrustedRecipientException.cs
- EntityDataSourceValidationException.cs
- ExceptionValidationRule.cs
- BlockUIContainer.cs
- QilName.cs
- ipaddressinformationcollection.cs
- SortAction.cs
- BitStack.cs
- FontUnit.cs
- WebResourceUtil.cs
- TextElementEnumerator.cs
- HttpConfigurationContext.cs
- ColumnReorderedEventArgs.cs
- ItemList.cs
- TextStore.cs
- ReplacementText.cs
- FixedTextContainer.cs
- DataControlFieldCollection.cs
- EnvelopedPkcs7.cs
- dsa.cs
- HebrewCalendar.cs
- COM2ExtendedBrowsingHandler.cs
- baseaxisquery.cs
- InvokeSchedule.cs
- CustomErrorCollection.cs
- SymmetricCryptoHandle.cs
- DecoderBestFitFallback.cs
- InkSerializer.cs
- PasswordPropertyTextAttribute.cs
- WebPartTracker.cs
- Document.cs
- TabControl.cs
- WebMessageEncodingBindingElement.cs
- ExpressionCopier.cs
- ScrollChrome.cs
- WorkflowTransactionService.cs
- ResolveMatchesApril2005.cs
- DesignTimeTemplateParser.cs
- ScopeElement.cs
- ServiceProviders.cs
- TabItem.cs
- WebPartMinimizeVerb.cs
- SqlCacheDependencyDatabase.cs
- CodeVariableDeclarationStatement.cs
- UpdatePanelTriggerCollection.cs
- ProviderCollection.cs
- _emptywebproxy.cs
- BinaryFormatterWriter.cs
- GAC.cs
- FrameDimension.cs
- AsyncPostBackTrigger.cs
- GradientBrush.cs
- WebPartVerbsEventArgs.cs
- SafeNativeMethods.cs
- Point4D.cs
- New.cs
- KnownTypesHelper.cs
- XmlMapping.cs
- MappingItemCollection.cs
- Win32.cs
- InkPresenter.cs
- MessageDecoder.cs
- HttpBrowserCapabilitiesBase.cs
- ObjectDataSourceFilteringEventArgs.cs
- PlatformNotSupportedException.cs
- ContactManager.cs
- PathSegmentCollection.cs
- GPStream.cs
- PtsCache.cs
- ScriptDescriptor.cs
- AnnotationMap.cs
- UserControlCodeDomTreeGenerator.cs