using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Vit.WebHost;
namespace Vit.Extensions
{
public static partial class IWebHostBuilderExtensions_UseStaticFiles
{
///
/// 启用静态文件服务
///
///
///
/// /* 映射静态文件。若不指定则不映射静态文件 */
/// "staticFiles": {
///
/// /* 请求路径(可不指定)。demo:"/file/static"。The relative request path that maps to static resources */
/// //"requestPath": "/file",
///
/// /* 静态文件路径。可为相对路径或绝对路径。若为空或空字符串则为默认路径(wwwroot)。demo:"wwwroot/demo" */
/// //"rootPath": "wwwroot",
///
/// /* 默认页面(可不指定)。An ordered list of file names to select by default. List length and ordering may affect performance */
/// //"defaultFileNames": [],
///
/// /* 是否可浏览目录(default false)。Enables directory browsing */
/// //"useDirectoryBrowser": false,
///
/// /* 静态文件类型映射配置的文件路径。可为相对路径或绝对路径。例如"contentTypeMap.json"。若不指定(或指定的文件不存在)则不指定文件类型映射配置 */
/// "contentTypeMapFile": "contentTypeMap.json",
///
/// /* 回应静态文件时额外添加的http回应头。可不指定。 */
/// "responseHeaders": {
///
/// //设置浏览器静态文件缓存3600秒
/// "Cache-Control": "public,max-age=3600"
/// }
/// }
///
///
///
///
///
///
/// 在appsettings.json文件中的路径。默认:"server.staticFiles"。
///
public static IWebHostBuilder UseStaticFilesFromConfig(this IWebHostBuilder data, string configPath = "server.staticFiles")
{
return data.UseStaticFiles(Vit.Core.Util.ConfigurationManager.Appsettings.json.GetByPath(configPath));
}
///
/// 启用静态文件服务
///
///
///
/// /* 映射静态文件。若不指定则不映射静态文件 */
/// "staticFiles": {
///
/// /* 请求路径(可不指定)。demo:"/file/static"。The relative request path that maps to static resources */
/// //"requestPath": "/file",
///
/// /* 静态文件路径。可为相对路径或绝对路径。若为空或空字符串则为默认路径(wwwroot)。demo:"wwwroot/demo" */
/// //"rootPath": "wwwroot",
///
/// /* 默认页面(可不指定)。An ordered list of file names to select by default. List length and ordering may affect performance */
/// //"defaultFileNames": [],
///
/// /* 是否可浏览目录(default false)。Enables directory browsing */
/// //"useDirectoryBrowser": false,
///
/// /* 静态文件类型映射配置的文件路径。可为相对路径或绝对路径。例如"contentTypeMap.json"。若不指定(或指定的文件不存在)则不指定文件类型映射配置 */
/// "contentTypeMapFile": "contentTypeMap.json",
///
/// /* 回应静态文件时额外添加的http回应头。可不指定。 */
/// "responseHeaders": {
///
/// //设置浏览器静态文件缓存3600秒
/// "Cache-Control": "public,max-age=3600"
/// }
/// }
///
///
///
///
///
///
///
///
public static IWebHostBuilder UseStaticFiles(this IWebHostBuilder data, StaticFilesConfig config)
{
data?.Configure(app=> app.UseStaticFiles(config));
return data;
}
}
}