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
- ToolbarAUtomationPeer.cs
- RoutedCommand.cs
- ContextStack.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- XPathDocumentIterator.cs
- CacheAxisQuery.cs
- DispatcherObject.cs
- MultipartContentParser.cs
- AssemblyInfo.cs
- FontConverter.cs
- HostSecurityManager.cs
- PictureBox.cs
- SchemaCreator.cs
- StsCommunicationException.cs
- IPEndPoint.cs
- FileIOPermission.cs
- MultiSelectRootGridEntry.cs
- FlowPanelDesigner.cs
- InputBinder.cs
- CompareInfo.cs
- PixelFormats.cs
- MenuTracker.cs
- CompilerError.cs
- DependencyPropertyDescriptor.cs
- SoapAttributeOverrides.cs
- SeekableReadStream.cs
- OdbcReferenceCollection.cs
- RelationshipEntry.cs
- SqlInternalConnection.cs
- ElementNotAvailableException.cs
- PropertyChangedEventArgs.cs
- NavigationProgressEventArgs.cs
- Buffer.cs
- XsltConvert.cs
- SqlFunctionAttribute.cs
- BitmapFrameDecode.cs
- ManagementOptions.cs
- ReadOnlyAttribute.cs
- StyleModeStack.cs
- DynamicVirtualDiscoSearcher.cs
- Internal.cs
- EntryPointNotFoundException.cs
- EventProxy.cs
- ObjectList.cs
- DesignTimeSiteMapProvider.cs
- SynchronousReceiveElement.cs
- DirtyTextRange.cs
- StorageEndPropertyMapping.cs
- PassportAuthenticationModule.cs
- LocalTransaction.cs
- ProviderUtil.cs
- TextInfo.cs
- ellipse.cs
- NameValueCollection.cs
- DetailsViewDesigner.cs
- XmlSchemaAny.cs
- SimpleBitVector32.cs
- SettingsBase.cs
- RectAnimationClockResource.cs
- PointAnimationBase.cs
- HttpFileCollectionWrapper.cs
- X509Certificate2Collection.cs
- BaseEntityWrapper.cs
- MetadataException.cs
- HtmlElement.cs
- TextServicesContext.cs
- ScrollBarAutomationPeer.cs
- Int32Animation.cs
- DBAsyncResult.cs
- HwndHostAutomationPeer.cs
- dbdatarecord.cs
- SecurityTraceRecordHelper.cs
- TreeBuilderXamlTranslator.cs
- HtmlElement.cs
- WebPartMenuStyle.cs
- SHA1CryptoServiceProvider.cs
- QueryFunctions.cs
- EntityDataSourceUtil.cs
- ResXBuildProvider.cs
- SqlConnection.cs
- XmlSerializationGeneratedCode.cs
- Stroke.cs
- TimeZone.cs
- TextRunTypographyProperties.cs
- Input.cs
- WindowsRebar.cs
- InputLangChangeRequestEvent.cs
- CompModSwitches.cs
- List.cs
- LinqDataSourceStatusEventArgs.cs
- KeyConverter.cs
- DesignerVerbCollection.cs
- DataGridViewTextBoxEditingControl.cs
- GeneratedContractType.cs
- TabRenderer.cs
- DesignerLabelAdapter.cs
- DecimalAnimationUsingKeyFrames.cs
- MsmqIntegrationInputMessage.cs
- DocumentSequence.cs
- TransformerInfo.cs