• .Net Core优化策略


    1、设置浏览器缓存

    使用中间件

                services.AddResponseCaching(options =>
                {
                    //是否区分请求路径大小写
                    options.UseCaseSensitivePaths = false;
                });
                app.UseResponseCaching();

    在接口上或者控制器上设置缓存

    /// <summary>
            /// Task方法
            /// </summary>
            /// <param name="val"></param>
            /// <returns></returns>
            [HttpGet("/GetTask")]
            [ResponseCache(Duration = 5, Location = ResponseCacheLocation.Any, NoStore = false)]
            public Task<string> GetTask (string val)
            {
                return Task.FromResult( $"{val}:{DateTime.Now.Ticks}");
            }
    Duration :缓存时间(s)
    Location : 获取或设置必须缓存来自特定URL的数据的位置
    NoStore : 获取或设置一个值,该值决定是否存储数据或不是。当设置为真时,它将“Cache-control”头设置为“no-store”。忽略了“Location”参数用于指定除“None”以外的值。忽略了“持续时间”参数。

    只能缓存Get请求

    2、对响应进行压缩
    services.Configure<GzipCompressionProviderOptions>(provider => provider.Level = CompressionLevel.Optimal);
                services.AddResponseCompression(options =>
    
                {
                    //设置Https请求是否被压缩
                    options.EnableForHttps = true;
                    //设置优先被使用的压缩算法
                    options.Providers.Add<GzipCompressionProvider>();
                    //设置需要被压缩的文件格式
                    options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "" });
                    //设置这些格式不被压缩
                    options.ExcludedMimeTypes = new[] { "image/png", "image/jpg", };
    
                });
                //必须放在app.UseStaticFiles()前面,否则请求会先进入静态文件管道并返回响应
                app.UseResponseCompression();
     
  • 相关阅读:
    当模型验证未通过时,获取未通过验证的属性
    在ASP.Net MVC中进行身份认证
    c#生成验证码
    HTTP与FTP状态码
    VUEX
    JS模块化
    Vue.JS入门下
    flex布局
    asp.net Web API
    JWT加密解密
  • 原文地址:https://www.cnblogs.com/yuchenghao/p/13291234.html
Copyright © 2020-2023  润新知