ASP.NET Core

ASP.NET Core搭建多层网站架构【0-前言】

风流意气都作罢 提交于 2020-12-13 02:54:29
2020/01/26, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构 目录 0-前言 1-项目结构分层建立 2-公共基础库 3-xUnit单元测试之简单方法测试 4-工作单元和仓储设计 5-网站数据库实体设计及映射配置 6-注册跨域、网站核心配置 7-使用NLog日志记录器 8.1-使用ViewModel注解验证 8.2-使用AutoMapper映射实体对象 8.3-编写角色业务的增删改 9.1-使用Autofac代替原生的依赖注入 9.2-使用Castle.Core实现动态代理拦截器 10-使用JWT进行授权验证 11-WebApi统一处理返回值、异常 12-xUnit单元测试之集成测试 13-扩展之网站支持全球化和本地化多语言语系 14-扩展之部署到IIS 15-扩展之使用Obfuscar混淆加密保护代码 网站内容 简单的后台管理系统,拥有用户登录、角色管理、日志记录的功能 支持MySQL、SQL server数据库 泛型仓储设计完善,不用每个实体单独定义一个仓储(也可以使用this自定义扩展或覆写) 工作单元统一管理所有的仓储,统一管理事务和提交 开发调试阶段,开启EntityFrameworkCore的日志,可以看到每次执行的具体sql,方便排查错误

asp.net core导出导入excel

怎甘沉沦 提交于 2020-12-12 01:53:25
原文: asp.net core导出导入excel 使用NPOI导入导出excel,已经封装好Action可以直接调用 导出 效果图 使用方法 定义导出实体 class Student { public int Id { get; set; } public string Name { get; set; } public bool IsBanZhang { get; set; } public static IEnumerable<Student> GetStudents() { return new List<Student> { new Student{Name="小强",Id=1,IsBanZhang=false}, new Student{Name="小文",Id=2,IsBanZhang=true}, new Student{Name="小黄",Id=3,IsBanZhang=false}, new Student{Name="小刚",Id=3,IsBanZhang=false}, }; } } 导出Action public IActionResult DownExcel() { var list = Student.GetStudents(); var excelHeper = new ExcelHelper(); var config = new List

ASP.NET Core使用EPPlus导入导出Excel

别等时光非礼了梦想. 提交于 2020-12-12 00:44:38
开发过程中,经常会遇到导入导出数据的需求,本篇博客介绍在.NET Core中如何使用EPPlus组件导入导出Excel EPPlus: EPPlus是使用Open Office XML格式(xlsx)读写Excel 2007/2010文件的 .net 开发库,能读写Excel 2007/2010文件,可以运行在Windows, Linux和Mac,官网地址: https://archive.codeplex.com/ 在.net core中还可以使用NOPI操作Excel,在此不做介绍。 使用EPPlus操作Excel: 1、引入EPPlus包 ,在程序包管理控制台中执行命令安装依赖包: 1 PM> Install-Package EPPlus.Core -Version 1.5 . 4 2、导出Excel ①使用EF Core操作数据库时,数据源用List集合方便导出。 ②在控制器的构造函数中注入 IHostingEnvironment 来获取网站根目录路径,以便设置导出Excel文件路径。 1 public IActionResult OutputExcel( ) 2 { 3 // 数据源为list集合 4 var query = ( from u in _context.UserInfo 5 select new 6 { 7 u.UId, 8 u.UName, 9 u

Asp.net Core导出Excel

倾然丶 夕夏残阳落幕 提交于 2020-12-11 13:39:46
本篇文章是在MVC设计模式下,基于windows系统的Excel导出 1.前台的实现不用我多说了吧,加一个a标签链接地址跳到它所调用的方法里面,可以根据当前页面的查询条件去传值,从而查询出你想要的数据然后导出 下面我们就直接来看控制器里的方法和对数据的处理 /// <summary> /// 导出数据 /// </summary> /// <returns></returns> public void ExportData(int pageIndex, int limit, string name, string startVisitTime, string endVisitTime, string addUser) { int count = 0; string fileExt = ".xls"; try { if (pageIndex != 0) { pageIndex = 0; } List<VisitsRecordDto> visitRecord = visitRecordReportInterface.GetVisitRecordList(pageIndex, limit, name, startVisitTime, endVisitTime, addUser, out count); Dictionary<string, string> columnNames =

如何在 Asp.Net Core 实现 Excel 导出功能

删除回忆录丶 提交于 2020-12-09 16:40:52
在web应用程序开发时,或许你会遇到这样的需求,如何在 Asp.Net Core 中实现 excel 或者 word 的导入导出,在 NuGet 上有大量的工具包可以实现这样的功能,本篇就讨论下如何使用 ClosedXML 实现 Excel 数据导出。 安装 ClosedXML 如果想实现 Excel 的导出功能,在 Asp.Net Core 中有很多的dll可以做到,其中的一个叫做 ClosedXML,你可以通过可视化界面 NuGet package manager 去安装,也可以使用命令行 NuGet package manager console 执行下面命令。 Install-Package ClosedXML 将数据导出成 CSV 文件 将数据导成 CSV 文件是非常简单的,毕竟每行数据都是用 , 隔开即可,可以用 NuGet 上的 CsvExport 或者 AWright18.SimpleCSVExporter 去实现,当然你觉得自己很 ????????,可以亲自操刀实现,下面我准备亲自实现一下,先看下面定义的 Author 类。 public class Author { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set

ASP.NET Core 2.0 : 二. 开发环境

强颜欢笑 提交于 2020-12-07 10:06:36
ASP.NET Core 系列目录 macOS:Install Visual Studio for Mac 系统要求: macOS 10.12 Sierra 及更高版本 其他要求: 可能会要求安装xcode或android相关环境, 详见下文安装选项说明. 1. 下载 Visual Studio for Mac 2. 安装: a.安装前检查 b.应用和版本控制需要Xcode c.选择安装组件, 如图所示 1)用于Android开发, 会安装Java SDK和Android SDK, 比较大. 2)用于iOS开发,需要Xcode. 3)用于macOS开发,需要Xcode. 4)是本次需要的.NET Core, 上面的三项, 如果不需要的可以不安装. 3.点击安装按钮, 慢慢等待安装完成即可. Windows: Install Visual Studio 2017 环境要求: 系统: windows 7 sp1 以上 Visual Studio:: 2017 15.3版本以上 安装方式详见我的另一篇博文: Visual Studio 2017离线安装包下载、安装 需要安装的组件: ASP.NET 和 Web 开发 .NET Core 跨平台开发 即以下这两个都要勾上. ASP.NET Core 系列目录 来源: oschina 链接: https://my.oschina.net/u

创建基于ASP.NET core 3.1 的RazorPagesMovie项目(一)-创建和使用默认的模板

倾然丶 夕夏残阳落幕 提交于 2020-12-06 19:45:39
声明:参考于asp.net core 3.1 官网(以后不再说明) 本教程是系列教程中的第一个教程,介 绍 生成 ASP.NET Core Razor Pages Web 应 用的基 础 知 识 。 在本系列 结 束 时 ,你将 拥 有一个管理 电 影数据 库 的 应 用 环境:visual studio 2019. .ASP.NET core 3.1 1、 从 Visual Studio“ 文件 ” 菜 单 中, 选择 “ 新建 ”>“ 项 目 ” 。 2、选择 ASP.NET Core Web 应 用程序,然后 选择 “ 下一步 ” 。 3、 项 目命名 为 “RazorPagesMovie” 。 将 项 目命名 为 “RazorPagesMovie” 非常重要, 这样 在复制和粘 贴 代 码时 命名空 间 就会匹配 4、 下拉列表中 选择 “ASP.NET Core 3.1” ,然后依次 选择 “Web 应 用程序 ” 和 “ 创 建 ” 。 5、生成的项目的解决方案列表如下: 6、按下ctrl+F5( 不使用 调试 程序的情模式 ),运行: 选择yes, 选择yes 7、运行效果: Visual Studio 启 动 IIS Express 并运行 应 用。 地址 栏显 示 localhost:port# ,而不是 显 示 example.com 。 这 是 因 为

创建基于ASP.NET core 3.1 的RazorPagesMovie项目(二)-应用模型类配合基架生成工具生成Razor页面

青春壹個敷衍的年華 提交于 2020-12-06 18:59:03
本节中,将学习添加用于管理跨平台的SQLLite数据库中的电影的类Movie。从ASP.NET core 模板创建的应用使用SQLLite数据库。 应用模型类(Movie)配合Entity Framework core(简称EF core,这是一种对象关系映射框架(ORM),它可以简化数据访问)使用,以处理数据库 模型类称为POCO类,因为它们与EF Core 没有任何依赖关系。它定义了数据库中存储的数据属性。 一、添加数据模型“Movie”   1、右键单击“RazorPagesMovie”项目>"添加">"新建文件夹"。并命名为“Models”      2、右键“Models”文件夹,选择“添加”>"类",并将新类命名为“Movie”:      3、双击Movie.cs文件,并添加以下属性: using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; // 需要手动引用这个名称控件 using System.Linq; using System.Threading.Tasks; namespace RazorPagesMovie.Models { public class Movie { public int ID { get ; set ; } /

6:Controller的路由

吃可爱长大的小学妹 提交于 2020-12-06 07:14:34
♣ 视频地址: https://www.bilibili.com/video/av38392956/?p=5 一:MVC框架有一些特性,他可以让你很简单的就创建出来html页面,或者是基于http的这种API,它可以把传进来的Http请求映射到某个类的特定的一个方法上,在这个方法里,你想做你想做的事,最后会给出个相应 想使用MVC框架,得保证安装了相应的库,我们看项目文件,如下图,它是一个大包,就包含了MVC的库,现在我们就可以使用MVC框架了 首先,我们改一下Startup文件,因为目前我们只需要server静态文件,所以把UseFileServer改成UseStaticFiles,然后我们useMVC会发现有两个,我们先用第二个,第二个做了默认路由的配置,MVC的路由会根据请求路径的一部分来找到相对应的一个类的一个方法 其次,我们要注册先MVC,如下图 F5运行,看到运行起来了,如下图 二:下面我们建立Controller,按照习惯建立文件夹Controllers,然后在里面建立HomeController,如下图   通常我们接收到一个访问我们Web网址的根目录的一个请求,那么它应该对应到我们的HomeController,比如我们直接访问localhost:5000,ASP.NET Core接收到这个请求之后呢,它会实例化HomeController这个类

ASP.NET Core搭建多层网站架构【13-扩展之支持全球化和本地化多语言】

被刻印的时光 ゝ 提交于 2020-12-05 07:45:04
2020/02/03, ASP.NET Core 3.1, VS2019, ResXManager 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构【13-扩展之支持全球化和本地化多语言】 使用资源管理多语言文件实现网站本地化支持多语言显示 文章目录 此分支项目代码 官方文档请点击: ASP.NET Core 全球化和本地化 本章节介绍了使用资源管理多语言文件实现网站本地化支持多语言显示 说明:本文的方法是采取所有的语言资源都在同一个地方,例如在MS.WebCore路径下有 SharedResource.zh-Hans.resx 、 SharedResource.zh-Hant.resx 两个语言资源文件,里面包含了整个网站所有的翻译,不管是Controller中的翻译还是业务Service的翻译都从 SharedResource 中读取。 而官方的做法是:HomeController的语言资源文件在 Resources/Controllers.HomeController.fr.resx 或 Resources/Controllers/HomeController.fr.resx 中,HomeService的语言资源文件则可能在 Resources/Services.HomeService.fr.resx 或 Resources/Services