应该是一个简单的问题,只是找不到答案。
我有一个带有web api的SPA(AngularJS),它是由Owin自己托管的。我使用Nancy来提供页面,但我想摆脱Nancy并使用Index.html作为我的单页。
我在这里看到了这个问题:How to route EVERYTHING other than Web API to /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/'
答案 0 :(得分:38)
将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的博客以获取更多信息: