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
- ImportContext.cs
- MemberPath.cs
- SQLBinary.cs
- SystemMulticastIPAddressInformation.cs
- Int32Animation.cs
- TypeResolver.cs
- Selector.cs
- PopupRoot.cs
- StrongName.cs
- IdentityManager.cs
- DocumentOrderQuery.cs
- Matrix3D.cs
- BindingContext.cs
- RenderData.cs
- OpCellTreeNode.cs
- SqlProviderServices.cs
- GeometryDrawing.cs
- GeometryGroup.cs
- HttpHandlerAction.cs
- NonBatchDirectoryCompiler.cs
- MetabaseSettings.cs
- WebPartActionVerb.cs
- TransactionManager.cs
- SymDocumentType.cs
- RangeValidator.cs
- QueryModel.cs
- TokenBasedSet.cs
- StorageRoot.cs
- ClientFormsIdentity.cs
- CollectionMarkupSerializer.cs
- InvalidComObjectException.cs
- SafeCryptoHandles.cs
- OleCmdHelper.cs
- NestPullup.cs
- ApplicationServiceManager.cs
- WsdlBuildProvider.cs
- Crc32.cs
- OleDbConnection.cs
- ResXBuildProvider.cs
- SecurityCriticalDataForSet.cs
- ScriptControlManager.cs
- PerformanceCounterPermissionEntry.cs
- CategoryAttribute.cs
- CompensatableTransactionScopeActivityDesigner.cs
- XmlSchemaAttributeGroup.cs
- WorkflowServiceHost.cs
- ExecutionEngineException.cs
- ReadContentAsBinaryHelper.cs
- WorkflowMessageEventHandler.cs
- Normalization.cs
- CookieProtection.cs
- FixedSOMTableRow.cs
- ListParaClient.cs
- GroupStyle.cs
- RemotingConfiguration.cs
- EnumBuilder.cs
- SiteMapNodeItem.cs
- latinshape.cs
- ValidatedControlConverter.cs
- AppDomainFactory.cs
- OutputCacheProfile.cs
- ToolStripPanelCell.cs
- BlurBitmapEffect.cs
- FormClosingEvent.cs
- StrokeSerializer.cs
- DataIdProcessor.cs
- GeometryCollection.cs
- QueryException.cs
- OleDbRowUpdatedEvent.cs
- MessagePropertyDescriptionCollection.cs
- ImageBrush.cs
- SerializationException.cs
- NameValuePermission.cs
- InvalidAsynchronousStateException.cs
- _ServiceNameStore.cs
- HtmlTableCellCollection.cs
- BamlRecordWriter.cs
- TagPrefixAttribute.cs
- DataView.cs
- ItemDragEvent.cs
- COM2ExtendedUITypeEditor.cs
- MaterialCollection.cs
- ColumnCollectionEditor.cs
- EventWaitHandle.cs
- LabelAutomationPeer.cs
- ProfileModule.cs
- SqlDataSourceEnumerator.cs
- COAUTHIDENTITY.cs
- DebugHandleTracker.cs
- BaseHashHelper.cs
- HttpWriter.cs
- Function.cs
- FileDetails.cs
- XamlBrushSerializer.cs
- BaseParser.cs
- TemplatedEditableDesignerRegion.cs
- PackageDigitalSignatureManager.cs
- Helpers.cs
- sitestring.cs
- Thread.cs