|
//----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
namespace System.ServiceModel.Activation
{
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Diagnostics;
sealed class TcpHostedTransportConfiguration : HostedTransportConfigurationBase
{
HostedTcpTransportManager uniqueManager;
public TcpHostedTransportConfiguration()
: base(Uri.UriSchemeNetTcp)
{
string[] bindings = HostedTransportConfigurationManager.MetabaseSettings.GetBindings(Uri.UriSchemeNetTcp);
for (int i = 0; i < bindings.Length; i++)
{
BaseUriWithWildcard listenAddress = BaseUriWithWildcard.CreateHostedUri(Uri.UriSchemeNetTcp, bindings[i], HostingEnvironmentWrapper.ApplicationVirtualPath);
if (i == 0)
{
Debug.Print("TcpHostedTransportConfiguration.ctor() Creating the unique TcpTransportManager with ListenUri:" + listenAddress.BaseAddress);
uniqueManager = new HostedTcpTransportManager(listenAddress);
}
this.ListenAddresses.Add(listenAddress);
Debug.Print("Registering the unique TcpTransportManager with ListenUri:" + listenAddress.BaseAddress);
TcpChannelListener.StaticTransportManagerTable.RegisterUri(listenAddress.BaseAddress, listenAddress.HostNameComparisonMode, uniqueManager);
}
}
internal TcpTransportManager TransportManager { get { return uniqueManager; } }
}
}
|