2016-02-28 108 views
1

我試圖放在一起OWIN配置,允許我從我的項目中的目錄提供靜態文件。我也從頭開始(從Visual Studio Community 2015 Update 1中的空白WebAPI項目)。這是我到目前爲止:Owin文件服務器配置

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消息「你正在尋找的資源沒有一個與之相關的處理程序。「

要注意:login.html的文件包含在構建(副本更新),我有禁用IIS文件服務,使用處理選項:

<remove name="StaticFile" /> 

我很茫然的在哪裏從這裏出發,顯然我錯過了一些東西。任何建議,將不勝感激。

回答

1

原來我需要告訴IIS通過OWIN傳遞所有請求:

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

這需要在處理部分中去。

如果有人對此有更好的/不同的解決方案,我仍然希望聽到它。

+0

嗨,我正在嘗試你的配置。不知何故,一旦我添加該行,啓動文件會被多次調用。有什麼想法嗎 ? –