加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 如何忽略MVC6中的路由

发布时间:2020-12-15 23:45:49 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个非常简单的SPA风格应用程序,我不想使用剃刀,所以我只需要它来提供HTML文件(从wwwroot文件夹),除了当js调用我的API控制器.在Web API 2中,您可以让路由器忽略HTML文件,以便直接提供服务. config.Routes.IgnoreRoute("Html","{whatever}.html/{*p
我正在开发一个非常简单的SPA风格应用程序,我不想使用剃刀,所以我只需要它来提供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控制器将不会工作,然而,但是.

解决方法

我想如果你想提供index.html,即使你的MVC选项被启用了?如果是这样,你必须改变一个设置.

当您启用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读