响应压缩修改压缩级别
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-08-05 10:41:42 +08:00
parent 4eaf070243
commit 9f5b8e9858
3 changed files with 35 additions and 21 deletions

View File

@ -19,7 +19,7 @@ namespace IRaCIS.Core.SCP
//这个注入没有成功--注入是没问题的构造函数也只是支持参数就好错在注入的地方不能写DbContext //这个注入没有成功--注入是没问题的构造函数也只是支持参数就好错在注入的地方不能写DbContext
//Web程序中通过重用池中DbContext实例可提高高并发场景下的吞吐量 这在概念上类似于ADO.NET Provider原生的连接池操作方式具有节省DbContext实例化成本的优点 //Web程序中通过重用池中DbContext实例可提高高并发场景下的吞吐量 这在概念上类似于ADO.NET Provider原生的连接池操作方式具有节省DbContext实例化成本的优点
services.AddDbContext<IRaCISDBContext>(options => services.AddDbContextPool<IRaCISDBContext>(options =>
{ {
// 在控制台 // 在控制台
//public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); }); //public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); });

View File

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.ResponseCompression; using Microsoft.AspNetCore.ResponseCompression;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System.IO.Compression;
namespace IRaCIS.Core.API namespace IRaCIS.Core.API
{ {
@ -10,9 +11,20 @@ namespace IRaCIS.Core.API
{ {
services.AddResponseCompression(options => services.AddResponseCompression(options =>
{ {
options.EnableForHttps = true;
options.Providers.Add<BrotliCompressionProvider>(); options.Providers.Add<BrotliCompressionProvider>();
options.Providers.Add<GzipCompressionProvider>(); options.Providers.Add<GzipCompressionProvider>();
}); });
services.Configure<BrotliCompressionProviderOptions>(options =>
{
options.Level = CompressionLevel.Optimal;
});
services.Configure<GzipCompressionProviderOptions>(options =>
{
options.Level = CompressionLevel.Optimal;
});
} }
} }
} }

View File

@ -24,32 +24,34 @@ using IRaCIS.Core.Infrastructure;
namespace IRaCIS.Core.Infra.EFCore namespace IRaCIS.Core.Infra.EFCore
{ {
/// <summary>
/// 报错添加subject 报错,重复添加访视
/// </summary>
//public class IRaCISDBScopedFactory : IDbContextFactory<IRaCISDBContext>
//{
public class IRaCISDBScopedFactory : IDbContextFactory<IRaCISDBContext> // private readonly IDbContextFactory<IRaCISDBContext> _pooledFactory;
{ // private readonly IUserInfo _userInfo;
private readonly IDbContextFactory<IRaCISDBContext> _pooledFactory; // public IRaCISDBScopedFactory(IDbContextFactory<IRaCISDBContext> pooledFactory,IUserInfo userInfo)
private readonly IUserInfo _userInfo; // {
// _pooledFactory = pooledFactory;
// _userInfo = userInfo;
// }
public IRaCISDBScopedFactory(IDbContextFactory<IRaCISDBContext> pooledFactory,IUserInfo userInfo) // public IRaCISDBContext CreateDbContext()
{ // {
_pooledFactory = pooledFactory; // var context = _pooledFactory.CreateDbContext();
_userInfo = userInfo; // context._userInfo = _userInfo;
} // return context;
// }
public IRaCISDBContext CreateDbContext() //}
{
var context = _pooledFactory.CreateDbContext();
context._userInfo = _userInfo;
return context;
}
}
public class IRaCISDBContext : DbContext public class IRaCISDBContext : DbContext
{ {
public IUserInfo _userInfo; private IUserInfo _userInfo;
public readonly ILogger<IRaCISDBContext> _logger; private readonly ILogger<IRaCISDBContext> _logger;
public IRaCISDBContext(DbContextOptions<IRaCISDBContext> options, IUserInfo userInfo, ILogger<IRaCISDBContext> logger public IRaCISDBContext(DbContextOptions<IRaCISDBContext> options, IUserInfo userInfo, ILogger<IRaCISDBContext> logger