Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Dispatcher / DemultiplexingClientMessageFormatter.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OuterGlowBitmapEffect.cs
- PerformanceCounterPermission.cs
- BamlLocalizer.cs
- Stopwatch.cs
- ChineseLunisolarCalendar.cs
- WebPageTraceListener.cs
- EntityReference.cs
- DataSvcMapFile.cs
- CompoundFileReference.cs
- LinqDataSourceValidationException.cs
- WebSysDisplayNameAttribute.cs
- TrackBar.cs
- DocumentSchemaValidator.cs
- RootAction.cs
- mactripleDES.cs
- DiscoveryDocumentSearchPattern.cs
- XsltCompileContext.cs
- VirtualizedContainerService.cs
- Typography.cs
- LambdaExpression.cs
- WinFormsSpinner.cs
- ContactManager.cs
- Soap12FormatExtensions.cs
- LinkConverter.cs
- CodeCommentStatement.cs
- Propagator.ExtentPlaceholderCreator.cs
- ProtocolsConfigurationEntry.cs
- Graphics.cs
- XhtmlBasicObjectListAdapter.cs
- DiagnosticTraceSchemas.cs
- MsmqIntegrationInputChannel.cs
- Regex.cs
- StringValueSerializer.cs
- SqlErrorCollection.cs
- SchemaImporter.cs
- XmlUnspecifiedAttribute.cs
- ProcessHostConfigUtils.cs
- FrameworkRichTextComposition.cs
- DesignerVerbCollection.cs
- BrowserCapabilitiesFactoryBase.cs
- NetStream.cs
- CommandLineParser.cs
- ClientRuntimeConfig.cs
- PageThemeParser.cs
- RuleRefElement.cs
- DelimitedListTraceListener.cs
- DataGridViewAdvancedBorderStyle.cs
- ScrollChrome.cs
- WebScriptEnablingElement.cs
- TransformGroup.cs
- ObjectStorage.cs
- OdbcDataReader.cs
- PointCollectionValueSerializer.cs
- Pair.cs
- SendKeys.cs
- ChannelEndpointElementCollection.cs
- HtmlInputText.cs
- CharKeyFrameCollection.cs
- SamlDoNotCacheCondition.cs
- ConnectionStringsExpressionBuilder.cs
- Vector3DValueSerializer.cs
- SmtpNetworkElement.cs
- CacheMode.cs
- FormsAuthenticationCredentials.cs
- ContractSearchPattern.cs
- ConfigurationCollectionAttribute.cs
- BinaryCommonClasses.cs
- SqlCachedBuffer.cs
- JoinTreeNode.cs
- ReadOnlyAttribute.cs
- NullableBoolConverter.cs
- SolidBrush.cs
- ProfileModule.cs
- UnmanagedMarshal.cs
- ErrorLog.cs
- BaseServiceProvider.cs
- LocationUpdates.cs
- SystemColors.cs
- SymbolTable.cs
- RadioButton.cs
- DataGridTextBox.cs
- SocketInformation.cs
- GPPOINTF.cs
- SemanticTag.cs
- CodeAssignStatement.cs
- XmlNullResolver.cs
- ReadOnlyDataSource.cs
- XmlEntity.cs
- CapabilitiesAssignment.cs
- WinInetCache.cs
- HttpAsyncResult.cs
- DbMetaDataColumnNames.cs
- DockingAttribute.cs
- RegexStringValidatorAttribute.cs
- HtmlInputCheckBox.cs
- ThaiBuddhistCalendar.cs
- SuppressMergeCheckAttribute.cs
- ClassicBorderDecorator.cs
- CopyNodeSetAction.cs
- RenameRuleObjectDialog.cs