我正在尝试组合一个OWIN配置,它允许我从项目中的一个目录中提供静态文件。我也几乎是从头开始(从Visual Studio Community 2015 Update 1中的一个空白WebAPI项目开始)。这是我到目前为止所知道的:
var options = new FileServerOptions
{
EnableDirectoryBrowsing = true,
EnableDefaultFiles = true,
DefaultFilesOptions = { DefaultFileNames = { "index.html" } },
FileSystem = new PhysicalFileSystem(@".\StaticFiles"),
StaticFileOptions = {
ContentTypeProvider = new FileExtensionContentTypeProvider(new Dictionary<string, string>() {
{ ".html", "text/html" }
})
}
};
app.UseFileServer(options);不幸的是,这不起作用。我可以从根url浏览目录StaticFiles (正如我所期望的那样),但是只要我单击一个文件(此时是Login.html),我就会得到一个404,其中显示消息“您正在寻找的资源没有与之关联的处理程序”。
注意: login.html文件包含在构建中(复制较新的文件),并且我已经使用处理程序选项禁用了IIS文件服务:
<remove name="StaticFile" />我不知所措,显然我遗漏了一些东西。如有任何建议,我们将不胜感激。
发布于 2016-02-28 21:59:16
原来我需要告诉IIS通过OWIN传递所有请求:
<add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>这需要放在处理程序部分。
如果有人对此有更好的/不同的解决方案,我仍然很想听听。
https://stackoverflow.com/questions/35682815
复制相似问题