|
@ -458,12 +458,20 @@ namespace Apewer.Web |
|
|
|
|
|
|
|
|
/// <summary>设置 Kestrel 的 API 入口。</summary>
|
|
|
/// <summary>设置 Kestrel 的 API 入口。</summary>
|
|
|
/// <exception cref="ArgumentNullException"></exception>
|
|
|
/// <exception cref="ArgumentNullException"></exception>
|
|
|
public static void SetKestrelEntries(IEnumerable<Assembly> assemblies, bool sort = false) |
|
|
public static void SetKestrelEntries(IEnumerable<Assembly> assemblies, bool sort = true) |
|
|
{ |
|
|
{ |
|
|
if (assemblies == null) throw new ArgumentNullException(nameof(assemblies)); |
|
|
if (assemblies == null) throw new ArgumentNullException(nameof(assemblies)); |
|
|
KestrelEntries = ApiInternals.GetEntries(assemblies, sort); |
|
|
KestrelEntries = ApiInternals.GetEntries(assemblies, sort); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>设置 Kestrel 的 API 入口。</summary>
|
|
|
|
|
|
public static void SetKestrelEntries(Assembly assembly, bool sort = true) |
|
|
|
|
|
{ |
|
|
|
|
|
var assemblies = new Assembly[] { assembly }; |
|
|
|
|
|
if (assemblies[0] == null) assemblies[0] = Assembly.GetCallingAssembly(); |
|
|
|
|
|
KestrelEntries = ApiInternals.GetEntries(assemblies, sort); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// internal static async Task Execute(HttpContext context)
|
|
|
// internal static async Task Execute(HttpContext context)
|
|
|
// {
|
|
|
// {
|
|
|
// Invoke(context, ApiInternals.Entries);
|
|
|
// Invoke(context, ApiInternals.Entries);
|
|
@ -479,11 +487,10 @@ namespace Apewer.Web |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>运行 Kestrel 服务器,可指定端口和最大请求 Body 长度。默认同步运行,阻塞当前线程。</summary>
|
|
|
/// <summary>运行 Kestrel 服务器,可指定端口和最大请求 Body 长度。默认同步运行,阻塞当前线程。</summary>
|
|
|
/// <remarks>注意:启动前必须设置 Kestrel Entries。</remarks>
|
|
|
/// <remarks>注意:启动前应使用 SetKestrelEntries 方法设置 Kestrel Entries。</remarks>
|
|
|
/// <exception cref="MissingMemberException"></exception>
|
|
|
|
|
|
public static IHost RunKestrel(int port = 80, int request = 1073741824, bool async = false) |
|
|
public static IHost RunKestrel(int port = 80, int request = 1073741824, bool async = false) |
|
|
{ |
|
|
{ |
|
|
if (KestrelEntries == null) throw new MissingMemberException(); |
|
|
if (KestrelEntries == null) SetKestrelEntries(Assembly.GetCallingAssembly()); |
|
|
|
|
|
|
|
|
var builder1 = Host.CreateDefaultBuilder(); |
|
|
var builder1 = Host.CreateDefaultBuilder(); |
|
|
var builder2 = builder1.ConfigureWebHostDefaults((builder3) => |
|
|
var builder2 = builder1.ConfigureWebHostDefaults((builder3) => |
|
|