web-dev-qa-db-ja.com

OWINでセルフホストされたWeb APIでindex.htmlを提供する方法

簡単な質問であるはずですが、答えが見つかりません。

私は、SPA(AngularJS)で、OwinでホストされているWeb APIを使用しています。 Nancyを使用してページを提供していますが、Nancyを削除してIndex.htmlを単一のページとして使用したいと考えています。

私はここでこの質問を見ました: Web API以外のすべてを/index.htmlにルーティングする方法

MVCとHomeControllerがないため、承認された回答を使用できません。更新された質問で提案されている方法も機能しません。No HTTP resource was found that matches the request URI 'http://admin.localhost:33333/'.No route providing a controller name was found to match request URI 'http://admin.localhost:33333/'

26
Burjua

Index.htmlをプロジェクトのルートに移動します。次にinstall-package Microsoft.Owin.StaticFilesをパッケージマネージャーコンソールに追加し、以下のコードを追加します。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {

        const string rootFolder = ".";
        var fileSystem=new PhysicalFileSystem(rootFolder);
        var options = new FileServerOptions
                      {
                          EnableDefaultFiles = true,
                          FileSystem = fileSystem
                       };

        app.UseFileServer(options);

    }
}

これにより、デフォルトでIndex.htmlが提供されます。

詳細については、Scott Allenのブログをご覧ください。

http://odetocode.com/blogs/scott/archive/2014/02/10/building-a-simple-file-server-with-owin-and-katana.aspx

39
Okolie Solomon