49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Net.Http.Server;
|
|
|
|
namespace ServerComparison.TestSites.Standalone
|
|
{
|
|
public static class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
var builder = new WebHostBuilder()
|
|
.UseDefaultHostingConfiguration(args)
|
|
.UseIISIntegration()
|
|
.UseStartup("ServerComparison.TestSites.Standalone");
|
|
|
|
// Switch beteween Kestrel and WebListener for different tests. Default to Kestrel for normal app execution.
|
|
if (string.Equals(builder.GetSetting("server"), "Microsoft.AspNetCore.Server.WebListener", System.StringComparison.Ordinal))
|
|
{
|
|
if (string.Equals(builder.GetSetting("environment"), "NtlmAuthentication", System.StringComparison.Ordinal))
|
|
{
|
|
// Set up NTLM authentication for WebListener as follows.
|
|
// For IIS and IISExpress use inetmgr to setup NTLM authentication on the application or
|
|
// modify the applicationHost.config to enable NTLM.
|
|
builder.UseWebListener(options =>
|
|
{
|
|
options.Listener.AuthenticationManager.AuthenticationSchemes =
|
|
AuthenticationSchemes.Negotiate | AuthenticationSchemes.NTLM | AuthenticationSchemes.AllowAnonymous;
|
|
});
|
|
}
|
|
else
|
|
{
|
|
builder.UseWebListener();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
builder.UseKestrel();
|
|
}
|
|
|
|
var host = builder.Build();
|
|
|
|
host.Run();
|
|
}
|
|
}
|
|
}
|
|
|