Owin文件服务器配置

Owin文件服务器配置,owin,Owin,我正在尝试组合一个OWIN配置,它允许我从项目中的目录提供静态文件。我也从零开始(从VisualStudioCommunity2015更新1中的一个空白WebAPI项目开始)。以下是我到目前为止的情况: var options = new FileServerOptions { EnableDirectoryBrowsing = true, EnableDefaultFiles = true,

我正在尝试组合一个OWIN配置,它允许我从项目中的目录提供静态文件。我也从零开始(从VisualStudioCommunity2015更新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);
var options=新文件服务器选项
{
EnableDirectoryBrowsing=true,
EnableDefaultFiles=true,
DefaultFileOptions={DefaultFileNames={“index.html”},
FileSystem=新物理文件系统(@“\StaticFiles”),
StaticFileOptions={
ContentTypeProvider=新文件扩展ContentTypeProvider(新字典(){
{.html”,“text/html”}
})
}
};
app.UseFileServer(选项);
不幸的是,这不起作用。我可以从根url浏览目录StaticFiles(正如我所期望的),但只要我点击一个文件(此时为Login.html),我就会得到一个404,消息是“您正在查找的资源没有与之关联的处理程序”

注意:login.html文件包含在构建中(复制较新版本),我已使用处理程序选项禁用IIS文件服务:

<remove name="StaticFile" />


我不知道该怎么办,显然我错过了什么。如果您有任何建议,我们将不胜感激。

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

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

需要放在处理程序部分


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

您好,我正在尝试您的配置。不知何故,一旦我添加了这一行,启动文件就会被多次调用。有什么想法吗?