Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / System.ServiceModel.Activation / System / ServiceModel / Activation / HostedTransportConfigurationBase.cs / 1305376 / HostedTransportConfigurationBase.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- using System.Collections.Generic; using System.ServiceModel; using System.ServiceModel.Channels; using System.Globalization; using System.Web.Hosting; using System.Web; namespace System.ServiceModel.Activation { abstract class HostedTransportConfigurationBase : HostedTransportConfiguration { ListlistenAddresses; string scheme; internal protected HostedTransportConfigurationBase(string scheme) { this.scheme = scheme; this.listenAddresses = new List (); } internal string Scheme { get { return scheme; } } internal protected IList ListenAddresses { get { return listenAddresses; } } public override Uri[] GetBaseAddresses(string virtualPath) { Uri[] addresses = new Uri[listenAddresses.Count]; for (int i = 0; i < listenAddresses.Count; i++) { string absoluteVirtualPath = VirtualPathUtility.ToAbsolute(virtualPath, HostingEnvironmentWrapper.ApplicationVirtualPath); addresses[i] = new Uri(listenAddresses[i].BaseAddress, absoluteVirtualPath); } return addresses; } internal BaseUriWithWildcard FindBaseAddress(Uri uri) { BaseUriWithWildcard foundBaseAddress = null; BaseUriWithWildcard weakBaseAddress = null; for (int i = 0; i < listenAddresses.Count; i++) { if ((string.Compare(listenAddresses[i].BaseAddress.Scheme, uri.Scheme, StringComparison.OrdinalIgnoreCase) == 0) && (listenAddresses[i].BaseAddress.Port == uri.Port)) { if (listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.StrongWildcard) { return listenAddresses[i]; } if (listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.WeakWildcard) { weakBaseAddress = listenAddresses[i]; } if ((listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.Exact) && (string.Compare(listenAddresses[i].BaseAddress.Host, uri.Host, StringComparison.OrdinalIgnoreCase) == 0)) { foundBaseAddress = listenAddresses[i]; } } } if (foundBaseAddress == null) foundBaseAddress = weakBaseAddress; return foundBaseAddress; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- using System.Collections.Generic; using System.ServiceModel; using System.ServiceModel.Channels; using System.Globalization; using System.Web.Hosting; using System.Web; namespace System.ServiceModel.Activation { abstract class HostedTransportConfigurationBase : HostedTransportConfiguration { List listenAddresses; string scheme; internal protected HostedTransportConfigurationBase(string scheme) { this.scheme = scheme; this.listenAddresses = new List (); } internal string Scheme { get { return scheme; } } internal protected IList ListenAddresses { get { return listenAddresses; } } public override Uri[] GetBaseAddresses(string virtualPath) { Uri[] addresses = new Uri[listenAddresses.Count]; for (int i = 0; i < listenAddresses.Count; i++) { string absoluteVirtualPath = VirtualPathUtility.ToAbsolute(virtualPath, HostingEnvironmentWrapper.ApplicationVirtualPath); addresses[i] = new Uri(listenAddresses[i].BaseAddress, absoluteVirtualPath); } return addresses; } internal BaseUriWithWildcard FindBaseAddress(Uri uri) { BaseUriWithWildcard foundBaseAddress = null; BaseUriWithWildcard weakBaseAddress = null; for (int i = 0; i < listenAddresses.Count; i++) { if ((string.Compare(listenAddresses[i].BaseAddress.Scheme, uri.Scheme, StringComparison.OrdinalIgnoreCase) == 0) && (listenAddresses[i].BaseAddress.Port == uri.Port)) { if (listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.StrongWildcard) { return listenAddresses[i]; } if (listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.WeakWildcard) { weakBaseAddress = listenAddresses[i]; } if ((listenAddresses[i].HostNameComparisonMode == HostNameComparisonMode.Exact) && (string.Compare(listenAddresses[i].BaseAddress.Host, uri.Host, StringComparison.OrdinalIgnoreCase) == 0)) { foundBaseAddress = listenAddresses[i]; } } } if (foundBaseAddress == null) foundBaseAddress = weakBaseAddress; return foundBaseAddress; } } } // 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
- PageRequestManager.cs
- TaskScheduler.cs
- ObjectItemCollection.cs
- LookupBindingPropertiesAttribute.cs
- WindowInteractionStateTracker.cs
- HandledMouseEvent.cs
- IndexOutOfRangeException.cs
- TableLayoutStyle.cs
- XPathPatternBuilder.cs
- HttpContext.cs
- NumberFormatter.cs
- InputLangChangeEvent.cs
- RelationshipConverter.cs
- DataColumnMapping.cs
- UIElement3D.cs
- TextPointerBase.cs
- PackWebResponse.cs
- DropDownHolder.cs
- MonikerUtility.cs
- MarshalDirectiveException.cs
- ExpressionConverter.cs
- ViewBox.cs
- EndpointAddressProcessor.cs
- Intellisense.cs
- JsonQNameDataContract.cs
- ToolBarButton.cs
- ArrayWithOffset.cs
- GridViewSelectEventArgs.cs
- PathSegmentCollection.cs
- MultiPropertyDescriptorGridEntry.cs
- FixedHighlight.cs
- BaseCollection.cs
- AppearanceEditorPart.cs
- COM2FontConverter.cs
- FlowDocumentFormatter.cs
- RecordConverter.cs
- XmlLanguage.cs
- GeneralTransformGroup.cs
- VisualStyleRenderer.cs
- SafeCoTaskMem.cs
- DateTimeFormatInfo.cs
- RewritingPass.cs
- SapiRecognizer.cs
- MultipartContentParser.cs
- TextShapeableCharacters.cs
- XPathNavigatorReader.cs
- SchemaImporter.cs
- WindowsSlider.cs
- Crc32.cs
- ToolBarButtonClickEvent.cs
- TimeEnumHelper.cs
- RequestCache.cs
- Calendar.cs
- EditorOptionAttribute.cs
- XmlSchemaParticle.cs
- InterleavedZipPartStream.cs
- ConfigurationStrings.cs
- RuleAction.cs
- DiagnosticTrace.cs
- FixedPage.cs
- httpstaticobjectscollection.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PrimitiveXmlSerializers.cs
- HostedImpersonationContext.cs
- StretchValidation.cs
- MouseBinding.cs
- UserNameSecurityToken.cs
- ScrollContentPresenter.cs
- FlowDocument.cs
- Floater.cs
- DetailsViewDeleteEventArgs.cs
- AccessDataSourceView.cs
- CrossContextChannel.cs
- UnsafeNativeMethods.cs
- SpecialNameAttribute.cs
- MediaScriptCommandRoutedEventArgs.cs
- BlockCollection.cs
- FormatterServices.cs
- Helper.cs
- DesignerDataSourceView.cs
- SrgsToken.cs
- CustomGrammar.cs
- OdbcUtils.cs
- XmlDataContract.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- GPPOINT.cs
- SynchronousReceiveElement.cs
- ServicePointManagerElement.cs
- DataMemberListEditor.cs
- ContractMapping.cs
- OdbcEnvironment.cs
- QilXmlWriter.cs
- ExpressionBuilder.cs
- BitmapCacheBrush.cs
- ServiceNameCollection.cs
- ErrorStyle.cs
- SimpleHandlerFactory.cs
- RoleManagerEventArgs.cs
- OutOfProcStateClientManager.cs
- NamespaceEmitter.cs