|
//----------------------------------------------------------------------------
// 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 NamedPipeHostedTransportConfiguration : HostedTransportConfigurationBase
{
HostedNamedPipeTransportManager uniqueManager;
public NamedPipeHostedTransportConfiguration()
: base(Uri.UriSchemeNetPipe)
{
string[] bindings = HostedTransportConfigurationManager.MetabaseSettings.GetBindings(Uri.UriSchemeNetPipe);
for (int i = 0; i < bindings.Length; i++)
{
BaseUriWithWildcard listenAddress = BaseUriWithWildcard.CreateHostedPipeUri(bindings[i], HostingEnvironmentWrapper.ApplicationVirtualPath);
if (i == 0)
{
Debug.Print("NamedPipeHostedTransportConfiguration.ctor() Creating the unique NamedPipeTransportManager with ListenUri:" + listenAddress.BaseAddress);
uniqueManager = new HostedNamedPipeTransportManager(listenAddress);
}
this.ListenAddresses.Add(listenAddress);
Debug.Print("Registering the unique NamedPipeTransportManager with ListenUri:" + listenAddress.BaseAddress);
NamedPipeChannelListener.StaticTransportManagerTable.RegisterUri(listenAddress.BaseAddress, listenAddress.HostNameComparisonMode, uniqueManager);
}
}
internal NamedPipeTransportManager TransportManager { get { return uniqueManager; } }
}
}
|