干货:详解asp.net Core3.0区域与路由配置的方法

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

  下面的示例将添加对控制器、 与 API 相关的功能,和视图,但不是页面的支持。 Web 应用程序 (MVC) 模板使用此代码:

  下面的示例添加支持 Razor 页面和最小控制器支持。 Web 应用程序模板使用此代码:

  此外可以组合的新方法。 下面的示例是等效于调用AddMvcASP.NET Core 2.2 中:

  二、Startup.Configure配置 一般不建议: 添加UseRouting。 如果该应用程序调用UseStaticFiles,将置于UseStaticFiles之前 UseRouting。 如果应用使用身份验证/授权功能,如AuthorizePage或[Authorize],将对UseAuthentication并UseAuthorization后 UseRouting。 如果应用使用CORS功能,如[EnableCors],将放置UseCors下一步。 替换UseMvc或UseSignalR与UseEndpoints。 以下是一种Startup.Configure典型的 ASP.NET Core 2.2 应用中:

  现在的控制器映射内发生UseEndpoints。 添加MapControllers如果应用使用属性路由。 由于路由包括对许多框架在 ASP.NET Core 3.0 或更高版本的支持,添加属性路由的控制器是参加。 将为以下内容: MapRoute 使用 MapControllerRoute MapAreaRoute 使用 MapAreaControllerRoute 由于路由现在包括对不止是 MVC 的支持,已更改了术语进行明确说明他们所做的这些方法。 如传统路由MapControllerRoute / MapAreaControllerRoute / MapDefaultControllerRoute它们要添加的顺序应用。 将第一位更具体的路由 (如某一区域的路由)。 如下示例中: […]

.NET Core log4net 使用

log4net .NET Core 版使用,log4net 2.0.7版发布也有一段时间了,从2.0.6 版开始就已经支持.NET Core。 之前有介绍NLog .NET Core版的使用,ASP.NET Core 开发-Logging 使用NLog 写日志文件。 ASP.NET Core已经内置了日志支持,可以轻松输出到控制台。使用log4net 将日志写入到文件及输出控制台。   .NET Core项目使用 新建一个 .NET Core 项目,选择控制台应用程序。 添加引用: Install-Package log4net   使用简单配置,将日志输出至控制台,跟之前.NET 版本略微有些区别,需要指定Repository 。

运行程序显示如下:   下面增加配置,让其输出至文件。 在项目中添加一个配置文件,这里添加一个log4net.config ,内容如下:

这里定义了三个 Appender,都会起作用,然后日志级别ALL 所有的日志都会记录。 更改Program.cs 代码如下:

加了指定配置文件。运行程序会生成一个文件夹和一个文件,因为重新定义了ConsoleAppender,控制台输出也有所不同。   ASP.NET Core项目使用 在ASP.NET Core 使用也是一样,可以在Program.cs或Startup.cs 中指定Repository,然后控制器或中间件中获取对象使用。 以下代码是在Startup 构造函数中初始化log4net

然后在Configure 中加了一个记录日志

  在HomeController 也增加了:

运行应用结果如下,然后对应的文件会有日志记录。   对于输出中文乱码,需要增加编码引用,以及代码。NLog 那篇文章有介绍。写到日志文件是没有问题的。   参考文档: http://logging.apache.org/log4net/release/manual/configuration.html http://logging.apache.org/log4net/release/config-examples.html   如果你觉得本文对你有帮助,请点击“推荐”,谢谢。 ASP.NET Core 3.1 新书发布 《ASP.NET Core项目开发实战入门》 京东当当淘宝 GitHub:https://github.com/linezero 博客示例代码GitHub:https://github.com/linezero/Blog from:https://www.cnblogs.com/linezero/p/log4net.html

.netCore 反射 :Could not load file or assembly 系统找不到指定文件

“System.IO.FileNotFoundException:“Could not load file or assembly 'ClassLibrary2, Culture=neutral, PublicKeyToken=null'. 系统找不到指定的文件。”” 在 .net 程序开发中我们会经常用到反射,最近在开始慢慢接触 .netCore。Core 反射的语法也是一样的,所以写下来也没有什么问题,但是一运行,就弹出了开头的 异常。 项目结构如下 ClassLibrary3 是一个接口

  ClassLibrary2 是 ClassLibrary3 的实现

  主程序通过反射获取到到类型并创建对象

  这代码都这里没有问题,但是执行的时候却抛出了 开篇的异常。仔细检查了下,ClassLibrary2 生成的 dll 确认已经是复制到了主程序目录下。 刚开始接触Core  也没有系统去熟悉,最后经过多方努力后,发现在主程序项目下有个 deps.json 的文件 文件内容是这样的(里面没有 ClassLibrary2 因为我们没有在项目中引用 ClassLibrary2) 然后想着 那异常提示找不到路径,那我们在这里配置下不久可以了? 然后改成如下:   这时候我们运行程序: 完美! from:https://www.cnblogs.com/mengtree/p/7139108.html

c# + mysql防SQL注入方法

 

 

NuGet修改默认包保存的位置

NuGet默认的全局包下载地址一般为:C:\Users\{username}\.nuget\packages     修改方法:  

  from:https://www.cnblogs.com/sword88/p/11490304.html

ASP.NET quartz 定时任务

1.下载 2.使用例子 Demo 概述:Quartz 是开源的定时任务工具类,默认每隔10秒执行一次任务,相当于C#的Timer,不断的循环执行(Start 方法),也可以随时停止(ShutDown方法)。 一 下载 下载地址:quartz     二 使用例子 Demo 1)引入程序集,必须引入三个,不然报错 2)IScheduler 和 IJob

3)每隔10秒,修改一次缓存的值,可以打断点随时查看缓存里的实时值。 from:https://www.cnblogs.com/ligenyun/p/7729989.html

Asp.Net中强制文件下载

 

Your project is not referencing the ".NETFramework,Version=4.5" framework.

我遇到了 Your project is not referencing the “.NETFramework,Version=4.5” framework. Add a reference to “.NETFramework,Version=4.5” in the “frameworks” section of your project.json, and then re-run NuGet restore. 怎么弄都没法解决,我尝试了git撤销更改也无法解决,最后解决方法:删除/obj文件。 来自stackoverflow ———————————————— 版权声明:本文为CSDN博主「迷惘小书童」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/m0_37080285/article/details/90206495

Docker镜像大小优化不完全指南(.NET)

以我们家庭好医.netcore项目做个示例,来看看怎么进一步优化Docker镜像的大小。 这里以先编译再做镜像的方法为示例,当然你也可以把编译部分也写进Dockerfile里。   0.先来看看编译后的项目文件大小:39.2MB     1.先看一下VS2019默认Dockerfile生成的镜像 先上Dockerfile

  看看生成的镜像大小:265MB   2.用大家常用的slim镜像试试 Dockerfile

  镜像大小还是265MB,并没有变小。   3.用大家不常用的alpine镜像来优化 Dockerfile

  再来看看镜像大小:146MB,是不是很神奇~

ABP(3.x)切换为MySQL

在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer 在EntityFrameworkCore项目下添加包Pomelo.EntityFrameworkCore.MySql v3.2.4 修改xxxDbContextConfigurer中的 删除EntityFraweorkCore下面的迁移文件夹 EntityFraweorkCore和WebHost的appsettings.json

  添加数据迁移VS菜单:Tools -> NuGet Package Manager -> Package Manager Console运行以下命令:

  Update-Database Remove-Migration   from:https://blog.csdn.net/qq_40353040/article/details/108770993

MySQLHelper/Util类

 

log4net独立文件配置

🥝 NuGet引用log4net 🥝 Configs文件夹下创建log4net.config

  🥝 AssemblyInfo.cs文件下添加

  🥝 类中引用