public GenericHost(IConfigureThisEndpoint specifier, string[] args, List <Type> defaultProfiles, string endpointName, IEnumerable <string> scannableAssembliesFullName = null)
{
this.specifier = specifier;
if (String.IsNullOrEmpty(endpointName))
{
endpointName = specifier.GetType().Namespace ?? specifier.GetType().Assembly.GetName().Name;
}
endpointNameToUse = endpointName;
endpointVersionToUse = FileVersionRetriever.GetFileVersion(specifier.GetType());
if (scannableAssembliesFullName == null || !scannableAssembliesFullName.Any())
{
var assemblyScanner = new AssemblyScanner();
assemblyScanner.MustReferenceAtLeastOneAssembly.Add(typeof(IHandleMessages <>).Assembly);
assembliesToScan = assemblyScanner
.GetScannableAssemblies()
.Assemblies;
}
else
{
assembliesToScan = scannableAssembliesFullName
.Select(Assembly.Load)
.ToList();
}
profileManager = new ProfileManager(assembliesToScan, args, defaultProfiles);
wcfManager = new WcfManager();
}