簡體   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