繁体   English   中英

ASP.NET 4.6 WEB API,不提供静态文件(.js,.css)IIS Express Visual Studio

[英]ASP.NET 4.6 WEB API, Not serving static files(.js, .css) IIS express visual studio

我一直在网上浏览,但仍然没有运气,因此,我为什么要问。 我有一个WEB API 4.6项目,该项目也将是angularjs2应用程序的宿主,我已设置为使用静态文件,如下所示:

 var physicalFileSystem = new PhysicalFileSystem(@".\wwwroot\");
        var options = new FileServerOptions
        {
            EnableDefaultFiles = true,
            FileSystem = physicalFileSystem,
        };
        var contentTypes = new FileExtensionContentTypeProvider();

        options.StaticFileOptions.FileSystem = physicalFileSystem;
        options.StaticFileOptions.ServeUnknownFileTypes = true;
        options.StaticFileOptions.ContentTypeProvider = contentTypes;
        options.DefaultFilesOptions.DefaultFileNames = new[] { "index.html" };
        options.EnableDirectoryBrowsing = true;
        app.UseFileServer(options);

当index.html尝试获取所有文件(.css.js)时,会在控制台中显示404错误,从而提供了index.html。 我启用了目录浏览,并且看到文件在那里。

我发现我的代码运行良好,我只需要将以下代码添加到我的web.config文件中。

<system.webServer>
<handlers>
  <remove name="StaticFile"/>
  <add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>
</handlers>

这里找到了答案。 我相信可以将其标记为重复或删除。

除了使用OWIN,您还可以使用在此处找到的web.config设置(URL重写)来实现从〜/ wwwroot提供静态文件的目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM