Как обслуживать index.html с помощью веб-api, созданного с помощью OWIN
Должен быть простой вопрос, просто не можете найти ответ.
У меня есть SPA (AngularJS) с веб-api, который сам размещен вместе с Owin. Я использую Nancy для обслуживания страницы, но я хотел бы избавиться от Nancy и использовать Index.html в качестве моей единственной страницы.
Я видел этот вопрос здесь: Как перенаправить ВСЕ, кроме веб-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/'
Ответы
Ответ 1
Переместите 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 будет обслуживаться.
Вы можете проверить блог Скотта Аллена для более подробной информации:
http://odetocode.com/blogs/scott/archive/2014/02/10/building-a-simple-file-server-with-owin-and-katana.aspx