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
- Attachment.cs
- CacheForPrimitiveTypes.cs
- ASCIIEncoding.cs
- InkCanvasInnerCanvas.cs
- ActivationServices.cs
- EventTask.cs
- MultiPropertyDescriptorGridEntry.cs
- StringStorage.cs
- ListView.cs
- ConfigurationLockCollection.cs
- Converter.cs
- listitem.cs
- RichTextBoxConstants.cs
- BitmapEffectCollection.cs
- ImpersonateTokenRef.cs
- RotationValidation.cs
- HttpProfileGroupBase.cs
- CodeSnippetExpression.cs
- DeobfuscatingStream.cs
- OpenTypeLayoutCache.cs
- HMACSHA1.cs
- AdornerHitTestResult.cs
- MetadataArtifactLoaderCompositeResource.cs
- JulianCalendar.cs
- MDIControlStrip.cs
- GridViewPageEventArgs.cs
- SmtpSection.cs
- Privilege.cs
- XmlSchemaObjectTable.cs
- RijndaelCryptoServiceProvider.cs
- TraceXPathNavigator.cs
- AQNBuilder.cs
- ISCIIEncoding.cs
- InputLanguage.cs
- GridViewCommandEventArgs.cs
- XmlTextReaderImplHelpers.cs
- DragDeltaEventArgs.cs
- OleDbConnection.cs
- TextDecoration.cs
- IgnoreFileBuildProvider.cs
- Table.cs
- QueryCacheEntry.cs
- Config.cs
- DelayedRegex.cs
- BackgroundFormatInfo.cs
- StdValidatorsAndConverters.cs
- Grant.cs
- RealizationContext.cs
- FusionWrap.cs
- Label.cs
- AssemblyBuilder.cs
- PageCatalogPart.cs
- ScriptControlManager.cs
- SelectedGridItemChangedEvent.cs
- UiaCoreProviderApi.cs
- _Connection.cs
- SqlBooleanizer.cs
- JsonServiceDocumentSerializer.cs
- IdentityReference.cs
- TimeSpan.cs
- SerializerDescriptor.cs
- SamlAuthenticationStatement.cs
- ADConnectionHelper.cs
- OdbcDataReader.cs
- DBBindings.cs
- ThreadStartException.cs
- FocusTracker.cs
- EntitySet.cs
- XmlILStorageConverter.cs
- TextDecorations.cs
- Slider.cs
- DrawingImage.cs
- TTSVoice.cs
- SegmentInfo.cs
- StylusDevice.cs
- RootBuilder.cs
- Group.cs
- ListViewGroupItemCollection.cs
- ResourceDescriptionAttribute.cs
- MasterPageBuildProvider.cs
- PhysicalFontFamily.cs
- XamlBrushSerializer.cs
- WebHttpEndpointElement.cs
- Substitution.cs
- DivideByZeroException.cs
- ReachDocumentReferenceSerializerAsync.cs
- WasEndpointConfigContainer.cs
- ArrayMergeHelper.cs
- PasswordRecovery.cs
- AuthenticationSection.cs
- MergeLocalizationDirectives.cs
- glyphs.cs
- SequenceRange.cs
- OdbcInfoMessageEvent.cs
- DataGridItemCollection.cs
- Operators.cs
- String.cs
- ArrangedElement.cs
- DataSourceCache.cs
- MeasureItemEvent.cs