我试图整理一个允许我从项目目录中提供静态文件的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&#34;您正在寻找的资源没有与之关联的处理程序。&#34;。
要注意:login.html文件包含在构建版本中(复制更新版本),并且我已使用处理程序选项禁用了IIS文件服务:
<remove name="StaticFile" />
我不知道从哪里出发,显然我错过了什么。任何建议将不胜感激。
答案 0 :(得分:0)
原来我需要告诉IIS通过OWIN传递所有请求:
<add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>
需要进入处理程序部分。
如果有人对此有更好/不同的解决方案,我仍然希望听到它。