NETCORE - 技术教程文章

【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

visual studio编译.net core项目失败问题的一次解决

错误信息严重性 代码 说明 项目 文件 行 禁止显示状态错误 MSB3073 命令“dotnet "C:\Users\Administrator\.nuget\packages\microsoft.extensions.apidescription.server\0.3.0-preview7.19365.7\build\/../tools/dotnet-getdocument.dll" --assembly "G:\work\DyCommunityBuy\src\CommunityBuy.Api\bin\Debug\netcoreapp2.2\CommunityBuy.Api.dll" --file-list "obj\CommunityBuy.Api.OpenApiFiles.cache" --framework ".NETCoreA...

表达式计算开源组件(NCalc.NetCore)【代码】【图】

首先,这款组件是开源的,NCalc是.net中的一个数学表达式求值程序。NCalc可以解析任何表达式并计算结果,包括静态或动态参数和自定义函数。官网地址:http://ncalc.codeplex.com/源码地址:https://github.com/sheetsync/NCalcNuget安装依赖,如下:简单表达式:Expression e = new Expression("2 + 3 * 5"); var result=e.Evaluate(); 支持.NET数据类型支持int,date,float,bool,string等数据格式处理Math中的数学函数Debug.Assert...

Asp.NetCore轻松学-部署到 IIS 进行托管【代码】【图】

原文:Asp.NetCore轻松学-部署到 IIS 进行托管前言经过一段时间的学习,终于来到了部署服务这个环节,.NetCore 的部署方式非常的灵活多样,但是其万变不离其宗,所有的 Asp.NetCore 程序都基于端口的侦听,在部署的时候仅需要配置侦听地址、端口(一个或者多个)即可,在掌握好其托管部署原理后,剩下的就是对托管宿主的选择,通过本文,希望可以带给大家一种清晰的部署思路,选择最适合自己的服务部署方式。1. IIS部署对于从传统 ....

创建NetCore2.2 Web项目+EFCore Orm+MSSQL(一)【代码】【图】

在空余时间学习下NetCore,记录日常,供参考。1.确保已下载安装NetCore2.2SDK 环境,下载地址:https://dotnet.microsoft.com/download/dotnet-core/2.22.打开VS2017,首先新建一个解决方案,并在解决方案上新建项目操作,选择ASP.NET Core Web 应用程序,点击“确定”。继续,NetCore版本选择ASP.NET Core 2.2,类型选择“Web应用程序”点击确定。3、在appsettings.json添加配置数据库链接字符串,添加后如下图{"Logging": {"Inclu...

ASP.NET Core Web 支付功能接入 支付宝-电脑网页支付篇【代码】【图】

这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入支付宝-电脑网页支付接口及同步跳转及异步通知功能。开发环境:Win 10 x64、VS2017 15.6.4、.NET Core SDK 2.1.101、.NET Core Runtime 2.0.61.新建"ASP.NET Core Web 应用程序"项目,我将它命名为AlipaySample.2. 引入安装Nuget包 "Essensoft.AspNetCore.Alipay". 目前(2018/03/23)版本为 1.1.03. 在Startup.cs文件内 添加依赖注入、设置参数(蚂蚁金服开放平台 - 账户...

.netcore项目中使用log4net【代码】【图】

log4net配置文件 引入log4net包,创建一个config目录,专门用来放配置文件,添加log4net.config文件。 编写配置文件。<?xml version="1.0" encoding="utf-8"?><configuration><log4net><!-- 错误日志类--><logger name="errLog"><level value="ALL"/><appender-ref ref="ErrorAppender"/></logger><!-- 错误日志附加介质--><appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><!--日志文件...

.Net Core中的Api版本控制【代码】【图】

原文链接:API Versioning in .Net Core 作者:Neel Bhatt简介Api的版本控制是Api开发中经常遇到的问题, 在大部分中大型项目都需要使用到Api的版本控制在本篇博客中,我们将说明一下如何在.Net Core Api项目中使用Api版本控制。本篇博客中测试项目的开发环境:Visual Studio 2017.Net Core 2.1 SDK.Net Core Api中使用Api版本控制创建一个Api项目首先我们创建一个.NET Core Api项目使用Nuget安装Api版本控制库.NET Core Mvc中,微软...

netcore3.0 IConfiguration配置源码解析(三)【代码】

前面两篇文章主要讲到netcore的配置以及各种配置源。本篇主要讲到把配置值转换成C#的实体类,体现在IConfiguration各种扩展方法:publicstaticclass ConfigurationBinder{///<summary>/// Attempts to bind the configuration instance to a new instance of type T./// If this configuration section has a value, that will be used./// Otherwise binding by matching property names against configuration keys recursively....

使用.net core实现简单的api网关做api版本控制【代码】【图】

场景:  由一次大的项目改动引起的app端api不兼容问题,这时候就需要对api做版本控制了,权衡之后因为用户不多,选择了强更,没人想在已经写了8000行代码的单个svc文件中维护好几个版本的接口或者继续新建svc(wcf配置较繁琐),但暴露出的版本控制问题还是要解决的,不能每次都强更呀。 api版本控制方案:  分项目进行版本控制,一个项目一个版本号,维护两个版本号,分开部署,根据其版本号路由到对应host。  根据当前项目情...

已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容

已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容 NU1202: 包 System.Runtime.InteropServices.RuntimeInformation 4.0.0 与 netcoreapp2.2 (.NETCoreApp,Version=v2.2) 不兼容。 包 System.Runtime.InteropServices.RuntimeInformation 4.0.0 支持: - monoandroid10 (MonoAndroid,Version=v1.0) - monotouch10 (MonoTouch,Version=v1.0) - xamarinios10 (Xamarin....

netcore中不支持多线程的Abort【代码】

staticvoid Main(string[] args){Console.WriteLine("Starting program...");Thread t = new Thread(PrintNumbersWithDelay);t.Start();Thread.Sleep(TimeSpan.FromSeconds(6));t.Abort(); // 此处运行报错 Console.WriteLine("A thread has been aborted");Console.ReadLine();}staticvoid PrintNumbersWithDelay(){Console.WriteLine("Starting...");for (int i = 1; i < 10; i++){Thread.Sleep(TimeSpan.FromSeconds(2));Conso...

通过Jexus 部署 dotnetcore【图】

通过Jexus 部署 dotnetcore版本MusicStore 示例程序 ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示如何在CentOS上运行.NET Core版本的MusicStore,并通过Jexus对外发布。上篇文章 《结合Jexus + Kestrel 部署 asp.net core 生产环境》 我们已经部署好了.NET Core和Jexus,这篇文章主要演示如何运行.NET Core上的MusicStore。 首先要从Mus...

在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用【代码】【图】

原文:在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用问题描述在传统的基于 .NET Framework 的 WPF 程序中,我们可以使用如下代码段启动相关的默认应用:# 启动默认文本编辑器打开 helloworld.txt Process.Start("helloworld.txt");# 启动默认浏览器打开 https://hippiezhou.fun/ Process.Start("https://hippiezhou.fun/");但是上述协议方式在 .NET Core 中不再适用,当我们使用上述方式进行操作,程序会给我们爆如下的...

ABP 找不到版本为 (>= 1.0.0-preview1-27891) 的包 Microsoft.AspNetCore.SignalR 错误【代码】【图】

错误描述:下载ABP模板项目3.4.1的版本(当前最新版本),编译加载nuget包Microsoft.AspNetCore.SignalR时会报如下错误:严重性 代码 说明 项目 文件 行 禁止显示状态错误 NU1102 找不到版本为 (>= 1.0.0-preview1-27891) 的包 Microsoft.AspNetCore.SignalR - 在 nuget.org 中找到 3 个版本[ 最接近版本: 1.0.0-alpha2-final ] - 在 Microsoft Visual Studio Offline Packag...

.NETCore 快速开发做一个简易商城【图】

介绍上一篇介绍 《.NETCore 基于 dbfirst 体验快速开发项目》,讲得不太清楚有些多人没看懂。这次吸取教训,将一个简易商城做为案例,现实快速开发。本案例用于演示或学习,不具有商业价值。必备环境1、node、node、node,重要的说三遍,现代开发必备环境之一,安装文件大小不过十几兆。2、dotnet-SDK 2.1 +3、sqlserver 2005 +,或者 sqlserver express4、genms 命令,安装方法:dotnet tool install genms -g特别说明 genmsgenms...

netcore发布独立部署

安装 System.RuntimeSystem.Runtime.ExtensionsSystem.ThreadingSystem.Runtime.InteropServicesSystem.Net.SocketsSystem.Net.NameResolution原文:https://www.cnblogs.com/herocany/p/12778595.html

.NetCore2.0下使用EF CodeFirst创建数据库【代码】【图】

本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目 取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类  1namespace XX.Model 2{ 3publicclass tb_User 4 { 5publicstring ID { get; set; } 6publicstring UserName { get; set; } 7public DateTime CreateTime { get; set; } 8 } 9 } 新建一个Service层 在下面新建一个dbContext类   1namespace XX.Service2{3public...

DotNetCore跨平台~发布脚本PowerShell的设计【代码】

这几天对PS情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很多,下面我们看一下将某个解决方案下的所有项目一次publish的过程,我们使用ps脚本来实现的。# 作者:仓储大叔 # 功能:发布项目到指定的地方 Param([string] $rootPath) $scriptPath = Split-Path $script:MyInvocation.MyCommand.PathWrite...

netcore 简单实现邮件发送【代码】

在很多应用系统中,都会有邮件发送功能。例如当用户注册过程中向用户邮箱发送验证信息;当客户完成订单时发送邮件进行提醒;当系统出现异常时向指定账号发送邮件报警等等。现今在实现邮件发送功能时,更多的是选择使用第三方组件Mailkit;或者是使用一些云邮箱服务,例如Amazon Simple Email Service。微软本身封装的组件stmpclient对邮件的支持力度不够,特别是ssl方面,现在已经慢慢的淘汰了。曾经在使用阿里云作为服务器需要发邮...

.NetCore下使用Prometheus实现系统监控和警报 (六)进阶Grafana集成自定义收集指标【图】

Prometheus中包含了很多收集指标,那么我们怎来在Grafana中来使用呢?接下来我们还是以之前自定义的来演示如图:我们在Prometheus中已经可以看到这个之前我们自定义的类型了关于Grafana的部署前面的文章已经介绍过了,这里就不继续介绍了,这里新建一个面板 添加图表 创建好后会默认添加一个图标,这里我们选择编辑接下来选择数据源名称,前面的章节已经介绍过了如下图输入我们自定义的指标,其实这里都是智能检索的,都有提示的,...

netcore 2.2 使用 AutoMapper 实现实体之间映射【代码】【图】

一、什么是AutoMapper?AutoMapper是一个简单的对象映射框架(OOM),将一个对象映射到另一个对象。二、AutoMapper的好处以前的时候我们将DTO对象转换为Model对象时,我们必须将每一个属性都手动映射实体类///<summary>/// 用户表///</summary>[Table("tb_User")]publicclass TbUser{///<summary>/// 用户Id///</summary> [Key][Column("userId")][StringLength(32)]publicstring UserId { get; set; }///<summary>/// 用户名//...

记CSRedisCore在NetCore中使用 入门篇封装【代码】【图】

首先 Nuget CSRedisCore新建一个 IRedisClient 接口1publicinterface IRedisClient 2 { 3string Get(string key); 4 Task<string> GetAsync(string key); 5void Set(string key, object t, int expiresSec = 0); 6 Task SetAsync(string key, object t, int expiresSec = 0); 7 T Get<T>(string key) where T : new(); 8 Task<T> GetAsync<T>(string key) where T : new(); 9 }实现接口 1p...

AspNetCore容器化(Docker)部署(一) —— 入门【代码】【图】

一.docker注册安装Windows Docker Desktop https://www.docker.com/products/docker-desktopLinux Docker CE https://docs.docker.com/install/linux/docker-ce/ubuntu/本文使用Windows环境Linux container做演示,安装完后切换到Linux container,“Switch to Linux containers...”。打开PowerShell查看docker版本信息PS C:\Users\Administrator> docker --version Docker version 18.09.2, build 6247962 PS C:\Users\Administr...

netcore 2.2 封装 AutoMapper【代码】【图】

在上篇中我们通过创建一个类并继承autoMapper的Profile类publicclass Mappings : Profile{public Mappings(){CreateMap<UserDto, TbUser>();}}这样做有一种弊端,就是当传输对象很多的时候,还需要手动一个个的配置映射关系,维护起来相对来说也比较麻烦。封装AutoMapper创建AutoMapperExtension扩展类///<summary>/// AutoMapper扩展类///</summary>publicstaticclass AutoMapperExtension{///<summary>/// 将源对象映射到目标对象...

JWT使用---来源practical-aspnetcore项目【代码】

1、生成JWT的输出token var claims = new[]{new Claim(ClaimTypes.Name, "Celon"),new Claim(ClaimTypes.Role, "Admin")};var option = _options.Value;var token = new JwtSecurityToken(issuer: option.Issuer,audience: option.Audience,claims: claims,expires: DateTime.Now.AddMinutes(60),signingCredentials: option.SigningCredentials);var outputToken = new JwtSecurityTokenHandler().WriteToken(token);2...

.netcore 部署到iis【图】

1.安装.netcore runtime https://dotnet.microsoft.com/download/dotnet-core 注意是Hosting Bundle版本2.重启服务器3.防止System.UnauthorizedAccessException,所以设置iis的应用程序池 这样就可以了原文:https://www.cnblogs.com/xyunp/p/13186181.html