asp.netCore3.0 中使用app.UseMvc() 配置路由

一、新配置路由策略 

在 Asp.Net Core 3.0中默认不再支持app.UserMvc() 方式配置路由 系统。

而是使用新的模式,点击查看asp.netCore3.0区域和路由配置变化

默认使用的话 会抛出异常:

InvalidOperationException: Endpoint Routing does not support ‘IApplicationBuilder.UseMvc(...)‘. To use ‘IApplicationBuilder.UseMvc‘ set ‘MvcOptions.EnableEndpointRouting = false‘ inside ‘ConfigureServices(...).

二、Asp.Net Core 3.0中 对于app.UseMvc() 还是 支持的。

如果你 习惯了以前配置方式,还是可以使用的。

进需要在 配置服务 中 ConfigureServices  增加mvc支持,并且关闭终点路由。 EnableEndpointRouting=false .

示例代码如下:

public void ConfigureServices(IServiceCollection services)
{
    //配置Mvc + json 序列化
    services.AddMvc(options => { options.EnableEndpointRouting = false; })
            .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                .AddNewtonsoftJson(options =>
                {
                    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm";
                });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseStaticFiles();
    app.UseAuthorization();

    app.UseMvc(routes =>
    {
        routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
    });

    //app.UseRouting();
    //app.UseEndpoints(endpoints =>
    //{
    //    endpoints.MapControllers();
    //});
}

更多:

asp.netCore3.0区域和路由配置变化

在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据

Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效

原文地址:https://www.cnblogs.com/tianma3798/p/11909293.html

时间: 2024-10-07 10:43:00

asp.netCore3.0 中使用app.UseMvc() 配置路由的相关文章

关于asp.netCore3.0区域和路由配置

在ASP.NET Core 3.0中路由配置和2.0不一样了 一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices.三个新的顶级扩展方法与 MVC 方案上IServiceCollection可用. 模板使用这些新方法,而不是UseMvc. 但是,AddMvc继续像它已在以前的版本.下面的示例将添加对控制器和与 API 相关的功能,但不是视图或页面的支持. API 模板使用此代码: public voi

(转)VC6.0中OpenGL开发环境配置

首先简单介绍一下OpenGL: OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.       OpenGL官方网站(英文)    http://www.opengl.org 然后设置编程的一些环境,及其安装必备文件的步骤如下: 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的.但这里我们选择VC++ 6.0作为学习OpenGL的环

【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写

很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs.com/ 实际上是 http://www.cnblogs.com/jx270 的一种链接重写(Url Rewriting). 2 codeproject上的文章,我们获取的地址都是以文章主要关键字做的网页名称: http://www.codeproject.com/cs/webservices/ws

Yii2.0中Yii::$app与Yii 1.0中Yii:app()的理解

一直不明白Yii::$app与Yii::app(),查找yii框架源码后如下记录分享 (1)在Yii1.0中Yii::app()返回的是你在index.php里创建的CWebApplication实例,在对应的CWebApplication,入口文件: Yii::createWebApplication($configFile)->run(); 对应的类中查找: public static function createWebApplication($config=null){return se

ASP.Net4.0中新增23项功能

这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在VS 2005和VS 2008中,已经有建立了很多代码段.不过,这些只适用于隐藏代码(code behind).在VS 2010中代码片段支持JScript,HTML以及asp.net标记.在下面画面,展示了JScript和HTML片段的快捷菜单. 在JS中: 在Html中 : 2.New Profi

asp.netcore3.0 netstandard2.1 使用 DbProviderFactories 连接数据库

在.netstandard2.0时 System.Data.Common 这个包里并没有加入DbProviderFactories DbProviderFactories类在.netframework中是非常重要的存在,依靠他可以适配各种数据库客户端(sqlserver.mysql.sqllite等)创建数据库连接. 现在 随着.netcore3.0的正式发布,已经实现了.netstandard2.1,并且在此版本中实现了 DbProviderFactories 现在可以像.netframewo

tomcat7.0中外置的Context配置

在D:\apache-tomcat-7.0.52\conf\Catalina\localhost这个目录下新建一个XML文件,文件名称可以为ROOT.xml,这样访问的URL就是http://localhost:8080/index.jsp就可以访问到你的项目,如果文件名称为myweb(注意此文件名将作为Context中的path,不管文件里的path怎么设置也无效),这样访问的URL就是http://localhost:8080/myweb/index.jsp <?xml version='1

如何使用DotNet 2.0中的应用程序配置 Settings.settings

对于桌面应用程序,常常会需要记录一些用户配置信息,早期的做法一般是使用读写INI文件的办法.    对于.NET应用程序,并没有提供直接操作INI文件的类,需要调用Win32API,具体办法可以参考:http://www.blogcn.com/user52/seabluescn/blog/23969537.html 可以看到这种办法比较麻烦. 随着.NET Framerwork 2.0 的出现,对应用程序设置提供了内在的支持,现在读写配置信息要简单方便得多了. 1.新建工程,打开Properti

asp.net core 中hangfire面板的配置及使用

1.定义校验授权类DyDashboardAuthorizationFilter /// <summary> /// Hangfire仪表盘配置授权 /// </summary> public class MyDashboardAuthorizationFilter : IDashboardAuthorizationFilter { public bool Authorize([NotNull] DashboardContext context) { var httpContext