Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Dispatcher / MultiplexingFormatMapping.cs / 1305376 / MultiplexingFormatMapping.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System.Net.Mime; using System.ServiceModel.Channels; using System.ServiceModel.Web; using System.Text; abstract class MultiplexingFormatMapping { protected Encoding writeEncoding; protected string writeCharset; protected WebContentTypeMapper contentTypeMapper; abstract public WebMessageFormat MessageFormat { get; } abstract public WebContentFormat ContentFormat { get; } abstract public string DefaultMediaType { get; } abstract protected MessageEncoder Encoder { get; } ContentType defaultContentType; public ContentType DefaultContentType { get { if (defaultContentType == null) { defaultContentType = new ContentType(this.DefaultMediaType) { CharSet = this.writeCharset }; } return defaultContentType; } } public MultiplexingFormatMapping(Encoding writeEncoding, WebContentTypeMapper contentTypeMapper) { if (writeEncoding == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writeEncoding"); } this.writeEncoding = writeEncoding; this.writeCharset = TextEncoderDefaults.EncodingToCharSet(writeEncoding); this.contentTypeMapper = contentTypeMapper; } public bool CanFormatResponse(ContentType acceptHeaderElement, bool matchCharset, out ContentType contentType) { if (acceptHeaderElement == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("acceptHeaderElement"); } // Scrub the content type so that it is only mediaType and the charset string charset = acceptHeaderElement.CharSet; contentType = new ContentType(acceptHeaderElement.MediaType); contentType.CharSet = this.DefaultContentType.CharSet; string contentTypeStr = contentType.ToString(); if (matchCharset && !string.IsNullOrEmpty(charset) && !string.Equals(charset, this.DefaultContentType.CharSet, StringComparison.OrdinalIgnoreCase)) { return false; } if (this.contentTypeMapper != null && this.contentTypeMapper.GetMessageFormatForContentType(contentType.MediaType) == this.ContentFormat) { return true; } if (this.Encoder.IsContentTypeSupported(contentTypeStr) && (charset == null || contentType.CharSet == this.DefaultContentType.CharSet)) { return true; } contentType = null; return false; } } } // 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
- CodeGotoStatement.cs
- glyphs.cs
- Zone.cs
- RelOps.cs
- PartialArray.cs
- FontUnit.cs
- TypeInitializationException.cs
- _KerberosClient.cs
- RightsManagementInformation.cs
- InvalidCastException.cs
- FlatButtonAppearance.cs
- FileLoadException.cs
- BaseTemplateParser.cs
- SwitchLevelAttribute.cs
- NativeActivity.cs
- EditorPart.cs
- TableLayoutStyle.cs
- PowerModeChangedEventArgs.cs
- XsltSettings.cs
- UniqueIdentifierService.cs
- WebPartExportVerb.cs
- ThreadAbortException.cs
- sqlnorm.cs
- CellRelation.cs
- Thread.cs
- SkipQueryOptionExpression.cs
- UdpTransportSettings.cs
- ScrollViewerAutomationPeer.cs
- HMACSHA1.cs
- COM2PictureConverter.cs
- FixedTextView.cs
- PieceNameHelper.cs
- SQLMoney.cs
- DataPagerFieldItem.cs
- EraserBehavior.cs
- EntityDataSourceDataSelection.cs
- CollectionConverter.cs
- NativeMethods.cs
- TextBlock.cs
- BinaryObjectReader.cs
- ExtensionQuery.cs
- BitmapEffect.cs
- ArraySortHelper.cs
- SqlDataReader.cs
- ResourceDisplayNameAttribute.cs
- ConfigurationManagerHelper.cs
- TitleStyle.cs
- DbDataAdapter.cs
- RotationValidation.cs
- InputBuffer.cs
- Rect3DValueSerializer.cs
- DockPattern.cs
- WebPartEditorOkVerb.cs
- OperationCanceledException.cs
- ServiceOperation.cs
- CookieParameter.cs
- DataGridViewRowConverter.cs
- AssemblyEvidenceFactory.cs
- ObjectQueryExecutionPlan.cs
- DataColumnMapping.cs
- COM2IPerPropertyBrowsingHandler.cs
- PtsPage.cs
- DbProviderFactoriesConfigurationHandler.cs
- PackagePart.cs
- SizeKeyFrameCollection.cs
- BinaryWriter.cs
- BitmapEffectRenderDataResource.cs
- DataGridViewRowCollection.cs
- PrinterResolution.cs
- HMACSHA256.cs
- BlockUIContainer.cs
- BasicExpressionVisitor.cs
- CacheForPrimitiveTypes.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- LogicalMethodInfo.cs
- HTMLTextWriter.cs
- ConstraintStruct.cs
- TemplateParser.cs
- ContentHostHelper.cs
- DataGridViewCellValidatingEventArgs.cs
- DirectoryNotFoundException.cs
- ContainerFilterService.cs
- SymDocumentType.cs
- CollectionDataContractAttribute.cs
- Timer.cs
- ValidationSummaryDesigner.cs
- ConfigurationProperty.cs
- PrintPageEvent.cs
- HttpProcessUtility.cs
- BinaryFormatterWriter.cs
- SurrogateChar.cs
- FixUp.cs
- ItemList.cs
- TimersDescriptionAttribute.cs
- SettingsPropertyValueCollection.cs
- TriggerAction.cs
- ListViewDataItem.cs
- MailAddress.cs
- XsdBuilder.cs
- DPAPIProtectedConfigurationProvider.cs