Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Activation / HostedTransportConfigurationBase.cs / 1 / 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
{
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.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- JoinSymbol.cs
- HttpServerProtocol.cs
- FormatterConverter.cs
- DataSetFieldSchema.cs
- ReadOnlyMetadataCollection.cs
- SoapSchemaExporter.cs
- Animatable.cs
- ListItemCollection.cs
- XmlSchemaChoice.cs
- ConfigurationValue.cs
- FormatConvertedBitmap.cs
- PropertyRecord.cs
- WebPartManagerDesigner.cs
- ColorPalette.cs
- GradientStop.cs
- Signature.cs
- ExpressionBuilder.cs
- UrlAuthorizationModule.cs
- ValidationRuleCollection.cs
- ServicesUtilities.cs
- TargetParameterCountException.cs
- CssTextWriter.cs
- ServiceBehaviorAttribute.cs
- XamlFilter.cs
- CommonXSendMessage.cs
- Span.cs
- DbModificationClause.cs
- FileDialogPermission.cs
- HttpModuleCollection.cs
- ToggleButton.cs
- ByteStorage.cs
- TreeNodeConverter.cs
- MonikerSyntaxException.cs
- ExtendedPropertyCollection.cs
- ProgressBarAutomationPeer.cs
- XamlTypeMapper.cs
- DataGridRow.cs
- InheritedPropertyChangedEventArgs.cs
- PerformanceCountersElement.cs
- TabletCollection.cs
- Pair.cs
- HashHelper.cs
- IntegerValidator.cs
- SystemShuttingDownException.cs
- DeploymentExceptionMapper.cs
- SecuritySessionServerSettings.cs
- Events.cs
- StylusDevice.cs
- EnumMember.cs
- GlyphCollection.cs
- CommandBinding.cs
- SessionStateUtil.cs
- DataSysAttribute.cs
- WsdlInspector.cs
- WebPartEditorOkVerb.cs
- LocatorBase.cs
- BaseTreeIterator.cs
- ConnectionInterfaceCollection.cs
- XmlSchemaParticle.cs
- StyleTypedPropertyAttribute.cs
- XDRSchema.cs
- Internal.cs
- ResourceExpressionEditor.cs
- LinqDataSourceHelper.cs
- ContainerVisual.cs
- StrokeNodeData.cs
- FamilyTypeface.cs
- EventLogReader.cs
- FunctionMappingTranslator.cs
- XmlSchemas.cs
- StackBuilderSink.cs
- FixedTextView.cs
- HtmlHead.cs
- SourceLineInfo.cs
- StateRuntime.cs
- DBPropSet.cs
- ColorPalette.cs
- MessageHeaderInfoTraceRecord.cs
- Type.cs
- ByteAnimation.cs
- XmlCDATASection.cs
- DataServiceClientException.cs
- LocalizableAttribute.cs
- DBConnectionString.cs
- ServiceBehaviorElementCollection.cs
- TriState.cs
- BezierSegment.cs
- ModifiableIteratorCollection.cs
- PageBreakRecord.cs
- Annotation.cs
- ImageDesigner.cs
- SByte.cs
- ExpressionBuilderCollection.cs
- DataControlFieldCollection.cs
- TimeoutException.cs
- AvtEvent.cs
- OdbcFactory.cs
- Directory.cs
- ObjectConverter.cs
- RemotingSurrogateSelector.cs