src/Library/NetPro.Web.Api/Startup/NetProCoreStartup.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.NetPro;
using System.Reflection;
using System.Threading;

namespace NetPro.Web.Api.Startup
{
    internal sealed class NetProCoreStartup : INetProStartup, System.NetPro.Startup.__._
    {
        //public double Order = 0;

        public double Order { get; set; } = 0;

        public void Configure(IApplicationBuilder application, IWebHostEnvironment env)
        {
            //转发头数据
            application.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.All });
        }

        public void ConfigureServices(IServiceCollection services, IConfiguration configuration = null, ITypeFinder typeFinder = null)
        {
            var netProOption = services.ConfigureStartupConfig<NetProOption>(configuration.GetSection(nameof(NetProOption)));
            services.ConfigureStartupConfig<HostingConfig>(configuration.GetSection("Hosting"));

            if (string.IsNullOrWhiteSpace(netProOption.ApplicationName))
            {
                var serviceProvider = services.BuildServiceProvider();
                //reset ApplicationName
                serviceProvider.GetRequiredService<IHostEnvironment>().ApplicationName = Assembly.GetEntryAssembly().GetName().Name;
                var hostEnvironment = serviceProvider.GetRequiredService<IHostEnvironment>();

                netProOption.ApplicationName = hostEnvironment.ApplicationName;
            }

            //----------------
            //由runtimeconfig.template.json 提供配置
            /*
              {
                "configProperties": {
                 "System.GC.Server": true,//站点专用配置,默认false
                 "System.GC.HeapHardLimit": 83886080,堆上限,单位字节
                 "System.GC.HeapHardLimitPercent": 2,//堆上限,单位百分比
                 "System.GC.LOHThreshold": 1048576,//大对象定义,单位字节
                 "System.GC.Concurrent": true,//后台回收,默认true
                 "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
                 "System.Threading.ThreadPool.MinThreads": 200
               }
            }
             */
            ThreadPool.GetMinThreads(out int work, out int comple);
            ThreadPool.GetAvailableThreads(out int worktemp, out int completemp);
            Console.WriteLine($"[{DateTime.Now:HH:mm:ss} 核心数为:{Environment.ProcessorCount}--默认线程最小为:{work}--Available:{worktemp}");
        }
    }
后面还有 29 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。