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
- mansign.cs
- TraceContextRecord.cs
- EditorZoneBase.cs
- ParallelTimeline.cs
- NavigationWindow.cs
- ObjectDataSourceEventArgs.cs
- ItemType.cs
- RenderData.cs
- TextEditorTables.cs
- DoubleStorage.cs
- ListViewContainer.cs
- X509Chain.cs
- WebPartZone.cs
- StandardBindingElement.cs
- UserInitiatedNavigationPermission.cs
- PackageProperties.cs
- datacache.cs
- XmlConvert.cs
- XPathNode.cs
- ArrayConverter.cs
- ProcessThreadCollection.cs
- ControlAdapter.cs
- RectAnimationClockResource.cs
- RequestQueue.cs
- ButtonChrome.cs
- ContentType.cs
- DBNull.cs
- PersonalizationStateInfo.cs
- Helper.cs
- ObjectQueryExecutionPlan.cs
- Hash.cs
- WebOperationContext.cs
- AccessKeyManager.cs
- AbstractExpressions.cs
- MultiBindingExpression.cs
- DataBindingCollection.cs
- IgnoreSectionHandler.cs
- BaseDataBoundControl.cs
- DbProviderSpecificTypePropertyAttribute.cs
- XmlSchemaSet.cs
- EndCreateSecurityTokenRequest.cs
- ColumnMapCopier.cs
- KnownAssembliesSet.cs
- CategoryGridEntry.cs
- ListViewGroupItemCollection.cs
- Property.cs
- DecoderNLS.cs
- RepeatBehaviorConverter.cs
- WizardStepCollectionEditor.cs
- ControlIdConverter.cs
- ResXBuildProvider.cs
- CssStyleCollection.cs
- UpdateCompiler.cs
- PropertyInformationCollection.cs
- DynamicPropertyReader.cs
- InvalidDataContractException.cs
- ZipIOModeEnforcingStream.cs
- Events.cs
- EffectiveValueEntry.cs
- EdmValidator.cs
- TabPage.cs
- ObjectCache.cs
- PageTheme.cs
- OnOperation.cs
- EditorZoneBase.cs
- ScriptingWebServicesSectionGroup.cs
- Context.cs
- MailDefinitionBodyFileNameEditor.cs
- AnimationLayer.cs
- XamlStyleSerializer.cs
- FontFamilyConverter.cs
- RemoteWebConfigurationHostServer.cs
- DebugManager.cs
- CompilerTypeWithParams.cs
- StringFreezingAttribute.cs
- mediaclock.cs
- COM2IDispatchConverter.cs
- PrintPreviewGraphics.cs
- DataConnectionHelper.cs
- ObjectListGeneralPage.cs
- DataExchangeServiceBinder.cs
- DecimalAnimationUsingKeyFrames.cs
- unitconverter.cs
- TextTreeExtractElementUndoUnit.cs
- AdRotator.cs
- Rect3D.cs
- ItemsPresenter.cs
- BidOverLoads.cs
- MatrixAnimationUsingKeyFrames.cs
- RayHitTestParameters.cs
- DataGridViewRowEventArgs.cs
- SafeRightsManagementPubHandle.cs
- MessageEnumerator.cs
- TemplateFactory.cs
- FigureParagraph.cs
- WebZoneDesigner.cs
- ScriptServiceAttribute.cs
- SubMenuStyleCollection.cs
- IDispatchConstantAttribute.cs
- WindowsBrush.cs