我正在开发一个非常简单的SPA风格的应用程序,我不想使用razor,所以我只需要它来提供HTML文件(来自wwwroot文件夹),除了js调用我的API控制器。在Web API 2中,您可以让路由器忽略HTML文件,以便直接提供它们,例如
config.Routes.IgnoreRoute("Html", "{whatever}.html/{*pathInfo}");
与此示例类似:http://www.strathweb.com/2014/04/ignoring-routes-asp-net-web-api/是IgnoreRoute功能,是未实现还是已更改?
目前我有app.UseMvc();在我的Startup.cs中,任何获取“/”的请求都会让我遇到这个异常:
An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml.
Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful()
但是当我离开它而没有MVC时,它会在你请求“/”时提供index.html文件 - 显然我的API控制器不会工作。
答案 0 :(得分:15)
我想如果你想在你的MVC选项启用时提供index.html吗?如果是这样,你必须改变一个设置。
当您启用MVC时,如果您的网址类似于http://localhost:yourport
,则会添加一条默认路由来搜索主页/索引。
当您禁用MVC时,它将为index.html提供服务,因为在这种情况下不存在路由。
因此,如果要在启用MVC时提供index.html,请在使用MVC之前在Configure函数中添加以下内容。
app.UseDefaultFiles(new Microsoft.AspNet.StaticFiles.DefaultFilesOptions() { DefaultFileNames = new[] { "index.html" } });
// your UseMVC goes here.
答案 1 :(得分:14)
30 2 * * * php /www/CakePHP/app/webroot/files/tickets/import.php