web-dev-qa-db-fra.com

Comment servir index.html avec une API Web auto-hébergée avec OWIN

Cela devrait être une question facile, mais je ne trouve pas la réponse.

J'ai un SPA (AngularJS) avec une API Web qui est auto-hébergée avec Owin. J'utilise Nancy pour servir la page, mais je voudrais me débarrasser de Nancy et utiliser Index.html comme page unique.

J'ai vu cette question ici: Comment acheminer TOUT autre que l'API Web vers /index.html

Je ne peux pas utiliser la réponse acceptée car je n'ai pas MVC et HomeController, la manière suggérée dans la question mise à jour ne fonctionne pas non plus, je reçois 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

Déplacez votre Index.html à la racine de votre projet. Ensuite install-package Microsoft.Owin.StaticFiles dans la console du gestionnaire de packages et ajoutez le code ci-dessous:

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);

    }
}

Cela servira votre Index.html par défaut.

Vous pouvez consulter le blog de Scott Allen pour plus de lecture:

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

39
Okolie Solomon