OWIN

2015-02-12 20 views
24
ile selfhosted web api ile index.html hizmeti nasıl verilir

Kolay bir soru olmalı, sadece cevabı bulamıyor.OWIN

Kendiliğinden Owin ile barındırılan bir web api ile SPA (AngularJS) sahibim. Nancy'yi sayfayı sunmak için kullanıyorum, ancak Nancy'den kurtulmak ve Index.html'yi tek sayfam olarak kullanmak istiyorum. Burada bu soruyu gördüğüm

: How to route EVERYTHING other than Web API to /index.html

Ben de çalışmaz MVC ve HomeController, güncellenmiş söz konusu önerilen yol yok gibi ben kabul cevabı kullanamıyorum, ben No HTTP resource was found that matches the request URI 'http://admin.localhost:33333/'. olsun No route providing a controller name was found to match request URI 'http://admin.localhost:33333/'

cevap

37

Index.html sayfanızı projenizin kök dizinine taşıyın.

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

    } 
} 

Bu varsayılan olarak Index.HTML kadar görev yapacak: Sonra install-package Microsoft.Owin.StaticFiles Paket Yöneticisi Konsolu ve aşağıdaki kodu ekleyin.

Daha okumak için Scott Allen'in blog ödeme yapabilirsiniz:

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

+0

sayesinde bu çok yararlıdır. Sadece bir öneri: Paket çoğul halindedir: Microsoft.Owin.StaticFiles – sp3ctum

+0

Bu tekniği hem UI (açısal uygulama) hem de WebApi'yi aynı bağlantı noktasında barındırmak için kullanabilir miyiz? Eğer evet ise kodu paylaşır mısınız? Teşekkürler – AustinTX

İlgili konular