Asp.net web api 当IFileSystem.TryGetFileInfo返回false时,阻止提供文件
对于我的OWIN WebApi项目,我有自己的静态文件提供程序。以下是我注册文件系统提供程序的方式:Asp.net web api 当IFileSystem.TryGetFileInfo返回false时,阻止提供文件,asp.net-web-api,owin,Asp.net Web Api,Owin,对于我的OWIN WebApi项目,我有自己的静态文件提供程序。以下是我注册文件系统提供程序的方式: app.UseStaticFiles(new StaticFileOptions { FileSystem = new MyFileSystem(), RequestPath = new PathString(""), }); 此文件系统提供程序遵循白名单方法,仅为允许的文件提供服务。出于测试目的,我在此处返回always false: public bool TryGetFi
app.UseStaticFiles(new StaticFileOptions
{
FileSystem = new MyFileSystem(),
RequestPath = new PathString(""),
});
此文件系统提供程序遵循白名单方法,仅为允许的文件提供服务。出于测试目的,我在此处返回always false:
public bool TryGetFileInfo(string subpath, out IFileInfo fileInfo)
{
fileInfo = null;
_log.DebugFormat("Unable to serve file " + subpath);
return false;
}
但每次我输入现有文件的路径时,它都会被下载。似乎OWIN堆栈中的某个地方存在回退,但我如何才能防止这种情况
顺便说一句,我也尝试了
UseFileServer
方法。您从哪里提供静态文件?如果TryGetFileInfo
返回false
,则它将转到下一个中间件(请参阅\u next(环境)
)。