代码拉取完成,页面将自动刷新
虚拟文件系统,可用于支持Assembly中的嵌入式资源文件,可以代替自带的的UseStaticFiles及UseDirectoryBrowser,引入了EmbeddedFile的支持,可以将静态资源放在非webroot文件夹中,打包后静态资源也直接在dll中,没有多余的静态文件。
目前很多带界面的第三方组件库都是通过类似的方法实现的, 例如:swagger自带的管理界面,abpvnext中的虚拟文件系统
app.UseVirtualFileSystem(option =>
{
option.FileProviders.AddEmbeddedFile<Program>();
});
或
app.UseVirtualFileSystem(option =>
{
option.FileProviders.AddEmbeddedFile(typeof(Program).Assembly);
});
开发过程中可使用物理文件替换掉嵌入式资源文件,方便实习调整文件内容,而不需要重新编译生成嵌入式资源文件。 以下示例,会采用默认解决方案的目录结构替换所有嵌入式资源文件
app.UseVirtualFileSystem(option =>
{
option.FileProviders.AddEmbeddedFile<Program>();
if (builder.Environment.IsDevelopment())
{
option.FileProviders.ReplaceAllEmbedToPhysical(builder.Environment.ContentRootPath);
}
});
以下示例为单个Assembly指定目录地址替换嵌入式资源文件
app.UseVirtualFileSystem(option =>
{
option.FileProviders.AddEmbeddedFile<Program>();
option.FileProviders.AddEmbeddedFile<VirtualFileSystem.Test.GetfilesTest>();
if (builder.Environment.IsDevelopment())
{
option.FileProviders.ReplaceEmbedToPhysical<VirtualFileSystem.Test.GetfilesTest>(@"c:\src\VirtualFileSystem.Test);
}
});
可为每个Assembly中的嵌入式资源指定请求前缀地址,默认虚拟文件的请求地址为根目录。
app.UseVirtualFileSystem(option =>
{
option.FileProviders.AddEmbeddedFile<Program>("VirtualFile"); //为指定请求前缀地址
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。