39 lines
1.7 KiB
C#
39 lines
1.7 KiB
C#
|
//----------------------------------------------------------------------------
|
||
|
// 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; } }
|
||
|
}
|
||
|
}
|