Owin UseStaticFiles 不尊重 RequestPath

标签 owin

**编辑:注意:这似乎在 Owin StaticFiles 中间件的更高版本中得到修复,因此如果您有此问题,只需升级 **

我的 OWIN 配置有这个:-

   string root = AppDomain.CurrentDomain.BaseDirectory;
   var staticFilesOptions = new StaticFileOptions();
   staticFilesOptions.RequestPath = new PathString("/foo");
   staticFilesOptions.FileSystem = new PhysicalFileSystem(Path.Combine(root, "web"));
   app.UseStaticFiles(staticFilesOptions);

当我点击 /foo/app/app.js当我点击 /web/app/app.js 时,我收到 404 错误文件被返回。

怎么样RequestPath旨在与 PhysicalFileSystem 一起工作?

最佳答案

我测试了这个代码片段,它对我有用 this sample project .

app.UseFileServer(new FileServerOptions()
{
    RequestPath = new PathString("/foo"),
    FileSystem = new PhysicalFileSystem(@".\web"),
});

确保你的 web.config 中有这个:
<system.webServer>
    ...
    <modules runAllManagedModulesForAllRequests="true"></modules>
    ...
</system.webServer>

关于Owin UseStaticFiles 不尊重 RequestPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22387555/

相关文章:

c# - 使用 owin 和 ninject 的 webapi 应用程序中的无参数构造函数问题

c# - 如何在 aspnet 身份中进行 session 管理?

c# - 扩展授权属性

asp.net-core - 在.Net core中共享默认的OWIN token

asp.net - MVC 5 和声明默认身份验证的使用

c# - ASP.Net MVC 5 OAuth2 Facebook 声明未保留。为什么?

c# - WebApi.Owin 中的 SuppressDefaultHostAuthentication 也抑制 webapi 外部的身份验证

c# - 验证 JWT 出现奇怪的 “Unable to match key kid” 错误

asp.net-mvc - 在 MVC 5 中正确获取 DataProtectionProvider 以进行依赖项注入(inject)