NETCORE - 技术教程文章

netcore XmlDocument 使用Load和Save方法【代码】

string path ="C://xxx/file"XmlDocument xmlDoc = new XmlDocument();#if NET462xmlDoc.Load(path); #elsestring content = File.ReadAllText(path);xmlDoc.LoadXml(content.Trim()); #endif…… ……#if NET462xmlDoc.Save(path); #elseFileStream fs = new FileStream(path, FileMode.Create);XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };XmlWriter writer = XmlWriter.Create(fs, settings);xmlD...

DotNetCore + Sonar + Coverlet 代码覆盖率检查【代码】【图】

一,下载 sonar-scanner-msbuild我当前下载的最新版本是:sonar-scanner-msbuild-4.5.0.1761-netcoreapp2.0https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild二,新建dotnetCore 项目 SonarDemo并创建SonarDemo.Tests Project三,解压sonar-scanner-msbuild-4.5.0.1761-netcoreapp2.0 至我们新建的dotnetCore项目进入sonar-scanner-netcore 编辑 SonarQube.Analysis.xml 设置SonarQube 地址。...

.NET Core WEB API接口参数模型绑定【代码】

.NET Core WEB API模型绑定方式有以下表格中的几种:特性绑定源[FromHeader]请求标头[FromQuery]请求查询字符串参数[FromForm]请求正文中的表单数据[FromBody]请求正文[FromRoute]当前请求中的路由[FromServices]作为操作参数插入的请求服务FromHeader(请求标头)顾名思义就是从Http的Request Headers:中获取数据。使用示例代码如下[HttpGet("TestFromHeader")] public string TestFromHeader([FromHeader]string headerParam) {ret...

使用命令行工具创建.Net Core应用程序【代码】【图】

在确保已经成功安装.Net Core SDK的情况下进行以下操作进入磁盘目录 cd E:\Work\VSCode创建应用程序示例文件夹mkdir DotNetCoreTest进入刚创建好的文件夹,创建空Web应用程序模板的Web应用程序,默认会以文件夹名称作为应用程序名cd DotNetCoreTestdotnet new web自定义应用程序名称 dotnet new web -n WebCoreTest 运行应用程序dotnet run 我们打开浏览器,输入地址http://localhost:5000,如果一切正常的话,可以看到页面输出Hel...

.net core 3.1 设置可跨域【代码】

1、Startup类里先定义一个全局变量:readonlystring MyAllowSpecificOrigins = "_myAllowSpecificOrigins";//名字随便起2、ConfigureServices方法里写如下代码:services.AddCors(options => { options.AddPolicy(MyAllowSpecificOrigins,builder => builder.AllowAnyOrigin().WithMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS"));}); 3、Configure方法里添加中间件:app.UseCors(MyAllowSpecificOrigins);CORS 中间...

ASP.NET Core中的缓存[1]:如何在一个ASP.NET Core应用中使用缓存【代码】【图】

.NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中。对于分布式缓存,.NET Core提供了针对Redis和SQL Server的原生支持。除了这个独立的缓存系统之外,ASP.NET Core还借助一个中间件实现了“响应缓存”,它会按照HTTP缓存规范对整个响应实施缓存。不过按照惯例,在对缓存进行系统介绍之前,我们还是先通过一些简单的实例演示感...

在Linux上以服务的方式运行ASP.NET Core站点【代码】

要在生成环境下在Linux服务器上跑ASP.NET Core站点,首先要解决的问题是以服务的方式运行ASP.NET Core站点,这样即使服务器重启,站点也能自动运行。Node.js中有强大的pm2,而.NET Core目前一无所有,只能自己动手实现。摸索了一个晚上,终于使用initctl命令基于Linux的upstart实现了,在这篇博文中分享一下(试验所用的Linux服务器器是Ubuntu)。首先在 /etc/init/ 目录中创建一个服务配置文件,比如这里是 /etc/init/dotnet-app....

ABP (.Net Core 3.1版本) 使用MySQL数据库迁移启动模板项目(1)【代码】【图】

最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下。 因为自己太菜了,下载了模板项目,在启动的过程中一波三折,其曲折真是无法用言语形容。(但是我没有灰心!没有什么技术是在努力的情况下学不会的,是嘛) 在搜集信息的过程中,很多网友分享的资料都很有帮助,但是有一个问题的方法对于我这边遇到的问题却用不上,因为问题没有得到解...

.Net Core中依赖注入服务使用总结【代码】【图】

一、依赖注入  引入依赖注入的目的是为了解耦和。说白了就是面向接口编程,通过调用接口的方法,而不直接实例化对象去调用。这样做的好处就是如果添加了另一个种实现类,不需要修改之前代码,只需要修改注入的地方将实现类替换。上面的说的通过接口调用方法,实际上还是需要去实例化接口的实现类,只不过不需要我们手动new 构造实现类,而是交给如微软的DI、Autofac这些工具去构建实现类。我们只需要告诉它们,某个类是某个接口的...

Asp.net Core Webapi for MongoDB【代码】【图】

Asp.net Core Webapi for MongoDB创建asp.net core webapi 3.11、 配置连接字符串 "BookstoreDatabaseSettings": {"BooksCollectionName": "Books","ConnectionString": "mongodb://localhost:27017","DatabaseName": "BookstoreDb"},2、添加实体类新建一个Models文件夹,添加一个Book实体类public class Book {[BsonId][BsonRepresentation(BsonType.ObjectId)]public string Id { get; set; }[BsonElement("Name")]public strin...

ASP.NET Core中如影随形的”依赖注入”[下]: 历数依赖注入的N种玩法【代码】【图】

在对ASP.NET Core管道中关于依赖注入的两个核心对象(ServiceCollection和ServiceProvider)有了足够的认识之后,我们将关注的目光转移到编程层面。在ASP.NET Core应用中基于依赖注入的编程主要涉及到两个方面,它们分别是将服务注册到ServiceCollection中,和采用注入的方式利用ServiceProvider提供我们所需的服务。我们先来讨论ASP.NET Core应用中如何进行服务注册。[本文已经同步到《ASP.NET Core框架揭秘》之中]目录一、服务注...

ASP.NET Core MVC如何上传文件及处理大文件上传【代码】

用文件模型绑定接口:IFormFile (小文件上传)当你使用IFormFile接口来上传文件的时候,一定要注意,IFormFile会将一个Http请求中的所有文件都读取到服务器内存后,才会触发ASP.NET Core MVC的Controller中的Action方法。这种情况下,如果上传一些小文件是没问题的,但是如果上传大文件,势必会造成服务器内存大量被占用甚至溢出,所以IFormFile接口只适合小文件上传。 一个文件上传页面的Html代码一般如下所示:<form method="post...

ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记【代码】【图】

课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务22:课程介绍1.HTTP 处理过程2.WebHost 的配置与启动3.Middleware 与管道4.Routing MiddleWare 介绍任务23:Http请求的处理过程任务24:WebHost的配置dotnet new webProgram.cspublic static IWebHostBuilder CreateWebHostBuilder(string[] args) =>WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration(configureDelegate=>{confi...

ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查【图】

原文:ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查介绍EntityFrameworkCoreEF core 是一个轻量级的,可扩展的EF的跨平台版本。对于EF而言 EF core 包含许多提升和新特性,同时 EF core 是一个全新的代码库,并不如 EF6 那么成熟和稳定。EF core 保持了和EF相似的开发体验,大多数顶级API都被保留了下来,所以,如果你用过EF6,那么上手EF core你会觉得非常轻松和熟悉,EF core 构建在一套全新的核心组件上,这意味...

.net core 3.1 过滤器(Filter) 和AOP面向切面拦截器【代码】【图】

Filter总共有五种,Authorization Filter,Resource Filter,Exception Filter,Action Filter,Result FilterException Filter 设置新增全局异常过滤器GlobalExceptionFilter.cs,当出现异常时进入此方法,可在这针对不同的异常做相关处理并返回指定数据,避免直接把错误暴露给用户 publicclass GlobalExceptionFilter : IExceptionFilter {publicvoid OnException(ExceptionContext context){Exception ex = context.Exception;s...

EasyOffice-.NetCore一行代码导入导出Excel,生成Word【代码】

简介Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少。以往的开发方式在业务代码中直接引入NPOI、Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差——比如基础库由NPOI修改为EPPlus,意味着业务代码需要全部修改。由于工作需要,我在之前版本的基础上,封装了OfficeService,目的是最大化节省导入导出这种非核心功能开发时间,专注于业务实现,并且业务端与底层基础组件完全解耦,即业...

.net core 1.1下的EntityFramework Code First【代码】【图】

新建asp.net core项目,然后把.net core引用的类库升级到1.1,这时,需要手动在project.json下添加一个runtimes节点,如下:"runtimes": { "win10-x64": {}} 同时在Nuget中添加下面三个类库(1.1版本):Microsoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools 接下来定义DbContext,用来生成数据库,代码如下:using Microsoft.EntityFrameworkCore; using System.Co...

部署NetCore项目(本文介绍用用IIS部署)【图】

首先要下载安装Core Runtim:然后在IIS中的模块中就可以看到如下内容:这时环境就搭好了;下面按照正常的发布流程走就行了,关键看下面(一定要选择无托管代码)原文:https://www.cnblogs.com/happyShare/p/10846653.html

NetCore+Dapper WbpApi架构搭建(二):底层封装【代码】

看下我们上一节搭建的架构,现在开始从事底层的封装1、首先需要一个实体的接口IEntity1namespace Dinner.Dapper 2{ 3publicinterface IEntity<TPrimaryKey> 4 { 5 TPrimaryKey Id { get; set; } 6 } 7 }2、由于所有的数据库实体都是有主键的,所以这里定义一个BaseModel,这里我用的主键是Guid,你们可以换成int1using System; 23namespace Dinner.Dapper 4{ 5publicclass BaseModel : IEntity<Guid> 6 { 7public...

用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST【图】

本文转自:https://www.cnblogs.com/cgzl/archive/2018/05/23/9047626.html本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314.html本文介绍的是使用ASP.NET Core建立Richardson成熟度为2级的伪RESTful web API, 本文介绍的是GET和POST.使用的项目是(右键另存为, 然后把后缀名改为zip): https://images2018.cnblogs.com/blog/986268/201805/986268-20180516...

ASP.NET Core 源码阅读笔记(5) ---Microsoft.AspNetCore.Routing路由【代码】

这篇随笔讲讲路由功能,主要内容在项目Microsoft.AspNetCore.Routing中,可以在GitHub上找到,Routing项目地址。 路由功能是大家都很熟悉的功能,使用起来也十分简单,从使用的角度来说可讲的东西不多。不过阅读源码的过程的是个学习的过程,看看顶尖Coder怎么组织代码也是在提升自己。 我们知道现在ASP.NET Core中所有用到的功能都是服务,那么Routing服务是什么时候被添加到依赖注入容器的呢?答案是在StartUp类的Configur...

[ASP.NET Core 3框架揭秘] 依赖注入[8]:服务实例的生命周期【代码】【图】

生命周期决定了IServiceProvider对象采用怎样的方式提供和释放服务实例。虽然不同版本的依赖注入框架针对服务实例的生命周期管理采用了不同的实现,但总的来说原理还是类似的。在我们提供的依赖注入框架Cat中,我们已经模拟了三种生命周期模式的实现原理,接下来我们结合“服务范围”的概念来对这个话题做进一步讲述。一、服务范围(Service Scope)对于依赖注入框架采用的三种生命周期模式(Singleton、Scoped和Transient)来说,...

ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录【代码】【图】

前言在.NET Core之前对于压缩样式文件和脚本我们可能需要借助第三方工具来进行压缩,但在ASP.NET MVC Core中则无需借助第三方工具来完成,本节我们来看看ASP.NET Core MVC为我们提供了哪些方便。自动压缩样式和脚本当我们在测试环境中肯定不需要压缩脚本的,如果一旦压缩脚本的话,若在控制台出现错误不利于我们调试,但是在生产环境中我们通过压缩脚本或者样式一来可以减少传输流量,二来可以加速页面加载时间,换句话说,此时我们...

netcore 出现的变化【代码】

.net core 2.0没有了request.inputstream但是可以用request.body替代dataset 没有查看视图了控制台程序默认生成是dll 文件 public string Post(){Request.EnableRewind();//String key1 = Request.Query["key1"];//获取url字符串//String key2 = Request.Form["key2"];//获取表单// String key3 = Request.Cookies["key3"];//获取cookie// String key4 = Request.Headers["key4"];//获取http头参数var mmm = accessor.HttpContext...

.NET Core1.1+VS2017RC+MySQL+EF搭建多层Web应用程序【代码】【图】

先贴上解决方案截图 一、新建4个解决方案文件夹1-Presentation2-Application3-Domain4-Infrastructure二、在解决方案文件夹中分别创建项目 新建.NET Core Web应用程序,【身份验证】需要选择【个人用户账户】否则无法执行migrations操作,猜想原因可能少了某个NuGet包,具体没去测试验证如果不选【个人用户账户】,migrations操作时会报【No executable found matching command "dotnet-ef"】错误其余项目创建省略项目引用关系:1....

Do you kown Asp.Net Core -- 配置Kestrel端口【代码】

Kestrel介绍在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨平台可运行 Asp.Net Core 的web服务器。在开发阶段,我们可以直接使用Kestrel服务器用来测试,也可以使用IISExpress。在使用IISExpress其实也需要启动一个Kestrel服务器,通过IISExpress反向代理请求到Kestrel,很多时候我更喜欢使用Kestrel,因为可以实时看到log。配置端口在Socket开发中,服务器都会绑定到某个ip某个端...

【asp.net core 系列】- 11 Service层的实现样板【代码】【图】

0.前言在《asp.net core 系列》之实战系列中,我们在之前的篇幅中对项目有了一个大概的认知,也搭建了一个基础的项目骨架。那么就让我们继续完善这个骨架,让它更加丰满。这一篇,我将带领小伙伴们一起实现用户管理功能。1. 数据表一般情况下,我们会把用户表和登录信息表放在两个表里。为什么会这样设计呢?出于以下几种考虑:使功能分割,用户信息管理是用户管理,登录是登录增加安全,降低无关信息的查询,例如访问登录接口不会...

asp.net core 系列 14 错误处理【代码】【图】

一.概述本文介绍处理 ASP.NET Core 应用中常见错误的一些方法。主要是关于:开发环境异常页;非开发环境配置自定义异常处理页;配置状态代码页(没有正文响应,http状态400~599的)。   1.1 开发环境异常页    要将应用配置为显示有关异常的详细信息的页面,请使用开发环境异常页。要环境设置为 Development,具体查看:asp.net core系列9环境。下面向 Startup.Configure 方法添加代码行:if (env.IsDevelopment()){ //注意: 调...

ASP.NET Core AD 域登录 (转载)【代码】

在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能。 当然如果使用的是Azure AD/企业账号登录时,直接在ASP.NET Core创建项目时选择就好了。来个ABC:1.新建一个ASP.NET Core项目ABC2.Nuget引用dependencies / 修改 project.json Novell.Directory.Ldap.NETStandardMicrosoft.AspNetCore.Authentication.Cookies版本如下:"Novell.Dir...

ASP.NET Core FromQuery 参数【代码】

//URL : ...... &Date1=2020-04-28&Date2=8208&IDs[]=1&IDs[]=3 [HttpGet] public JsonResult Test( DateTime Date1, DateTime Date2, [FromQuery(Name = "IDs[]")] List<int> IDs ){//.....} 原文:https://www.cnblogs.com/lonelyxmas/p/12770414.html