ASP.NET Core Static Files
2021/8/6 1:35:52
本文主要是介绍ASP.NET Core Static Files,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
以前写的文章和参考
Asp.net core 学习笔记 ( IIS, static file 性能优化 )
官网
正文
通常 static files 会带上 zip, cache, minify
zip 和 cache ASP.NET Core 都有 build-in 的, JS, CSS minify 用 Webpack, HTML 用 WebMarkupMin
public static class MiniCompressionCacheServiceCollectionExtensions { public static IServiceCollection AddMiniCompressionCache(this IServiceCollection services) { services.AddResponseCompression(options => { options.EnableForHttps = true; }); var fileExtensionContentTypeProvider = new FileExtensionContentTypeProvider(); fileExtensionContentTypeProvider.Mappings[".webmanifest"] = "application/manifest+json"; services.Configure<StaticFileOptions>(options => { options.ContentTypeProvider = fileExtensionContentTypeProvider; options.OnPrepareResponse = ctx => { var cachePeriod = TimeSpan.FromDays(365 * 15).TotalSeconds.ToString(); ctx.Context.Response.Headers.Append("Cache-Control", $"public, max-age={cachePeriod}"); }; }); services.AddWebMarkupMin().AddHtmlMinification(); return services; } }
startup.cs > ConfigureServices
services.AddMiniCompressionCache();
startup.cs > Configure
app.UseStaticFiles();
这样就可以了.
处理没有 extension 的 files
参考:
ASP.NET Core 2.0 - Serving files with no extension
How can you use multiple directories for static files in an aspnet core app?
这个需求有点奇葩哦. 我是因为用 face-api.js, 它的 models files 是没有 extension 的...
解决方法是在 startup.cs > Configure 加多一个 UseStaticFiles, 然后指定路径来特别处理. ServeUnknownFileTypes 是有安全隐患的, 所以要小心用哦.
app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/face-api-models")), RequestPath = "/face-api-models", ServeUnknownFileTypes = true, });
这篇关于ASP.NET Core Static Files的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID