在ASP.NET Core 6 Web服务中使用压缩功能可以大大减少数据传输所需的带宽和时间。这里提供一种使用gzip压缩技术的方法。
services.AddResponseCompression(options =>
{
options.Providers.Add
app.UseResponseCompression();
public class GzipCompressionProvider : ICompressionProvider { public string EncodingName => "gzip";
public bool SupportsFlush => true;
public Stream CreateStream(Stream outputStream)
{
return new GZipStream(outputStream, CompressionMode.Compress);
}
public Stream CreateStream(Stream outputStream, CompressionLevel? compressionLevel)
{
if (compressionLevel == null)
{
return CreateStream(outputStream);
}
return new GZipStream(outputStream, compressionLevel.Value);
}
public Stream CreateDecompressionStream(Stream inputStream)
{
return new GZipStream(inputStream, CompressionMode.Decompress);
}
}
[HttpGet]
[ResponseCache(CacheProfileName = "CacheProfile")]
[Compression]
public async Task
参考文献:https://docs.microsoft.com/en-us/aspnet/core/performance/response-compression?view=aspnetcore-6.0
上一篇:ASP.NetCore6WebApp:Nodefaultauthschemewithwindowsauthentication
下一篇:ASP.NETCORE6Web应用程序中出现“Nowebpagewasfoundforthewebaddress:http://localhost:XXX/login错误。