Owin FileServer配置

时间:2016-02-28 12:57:27

标签: owin

我试图整理一个允许我从项目目录中提供静态文件的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" />

我不知道从哪里出发,显然我错过了什么。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

原来我需要告诉IIS通过OWIN传递所有请求:

<add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>

需要进入处理程序部分。

如果有人对此有更好/不同的解决方案,我仍然希望听到它。