| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -458,12 +458,20 @@ namespace Apewer.Web | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <summary>设置 Kestrel 的 API 入口。</summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <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)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            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)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // {
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //     Invoke(context, ApiInternals.Entries);
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -479,11 +487,10 @@ namespace Apewer.Web | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <summary>运行 Kestrel 服务器,可指定端口和最大请求 Body 长度。默认同步运行,阻塞当前线程。</summary>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <remarks>注意:启动前必须设置 Kestrel Entries。</remarks>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <exception cref="MissingMemberException"></exception>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /// <remarks>注意:启动前应使用 SetKestrelEntries 方法设置 Kestrel Entries。</remarks>
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        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 builder2 = builder1.ConfigureWebHostDefaults((builder3) => | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |